к примеру с 2000-01-01 в 10 лет.
Спустя 1 минута, 36 секунд (27.11.2010 - 15:43) vinnie написал(а):
создаёшь поле birthday типа date, потом отнимаешь от текущей даты даты рождения из базы и все
Спустя 50 секунд (27.11.2010 - 15:44) Игорь_Vasinsky написал(а):
ну....
1.бери сегодняшний год
2.из бд выдёргивый базу (отскай сё кроме првых четырёх символов)
отнимай п1 - п2
1.бери сегодняшний год
2.из бд выдёргивый базу (отскай сё кроме првых четырёх символов)
отнимай п1 - п2
Спустя 2 минуты, 3 секунды (27.11.2010 - 15:46) grigoriy написал(а):
я как бы новичок)
не моли бы пример?
не моли бы пример?
Спустя 8 минут, 9 секунд (27.11.2010 - 15:54) Игорь_Vasinsky написал(а):
ну допустим дата из бд - $date_bd
тогда первые 4 символа от нё это:
(int) мы определили что это число ане строка
нынешний год это
возраст =
вроде так
тогда первые 4 символа от нё это:
$need_int = (int)substr($datebd,0, 4);
(int) мы определили что это число ане строка
нынешний год это
$now_year = date("Y");
возраст =
$now_year - $need_int;
вроде так
Спустя 31 минута, 51 секунда (27.11.2010 - 16:26) grigoriy написал(а):
спасибо, попробую)
Спустя 2 минуты, 29 секунд (27.11.2010 - 16:28) vinnie написал(а):
там ничего сложного
Спустя 39 минут, 23 секунды (27.11.2010 - 17:08) twin написал(а):
Дарю, пока добрый)))
Многофункциональная фишка. Можно добавить другие методы, деньги допустим определять.
Кто разберется, тот молодец. Кто нет - я статью попозже напишу на ирбисе. :)
Многофункциональная фишка. Можно добавить другие методы, деньги допустим определять.
<?php
class Find_Form
{
public $age;
public $forms = array('год', 'года', 'лет');
public function __construct($forms = false)
{
if(!empty($forms))
$this->forms = $forms;
}
public function findAge($date, $last = false)
{
$this->age = date("Y", strtotime("now")) - date("Y", strtotime($date));
if(date("n", strtotime("now")) < date("n", strtotime($date)))
$this->age--;
if(date("n", strtotime("now")) === date("n", strtotime($date)))
if(date("j", strtotime("now")) < date("j", strtotime($date)))
$this->age--;
$last = !empty($last) ? $this->createForm() : '';
return $this->age .' '. $last;
}
public function createForm($num = '')
{
if(empty($num))
$num = $this->age;
$num = abs($num) % 100;
$n = $num % 10;
if ($num > 10 && $num < 20)
return $this->forms[2];
if ($n > 1 && $n < 5)
return $this->forms[1];
if ($n == 1)
return $this->forms[0];
return $this->forms[2];
}
}
$obj = new Find_Form();
echo $obj->findAge('1990-01-20', true);
Кто разберется, тот молодец. Кто нет - я статью попозже напишу на ирбисе. :)
Спустя 11 минут, 42 секунды (27.11.2010 - 17:19) Игорь_Vasinsky написал(а):
Дяд Коль... а у меня реализация чё совсем неканает?
Спустя 25 минут, 30 секунд (27.11.2010 - 17:45) twin написал(а):
Ну не то, чтобы не совсем. Просто ты не учитываешь стыки. Вот если допустим дата рождения 2000-12-20, то на сегодня полных лет 19, а твой способ покажет 20.
Спустя 12 минут, 59 секунд (27.11.2010 - 17:58) Игорь_Vasinsky написал(а):
а.... ну да... нужно щё месяц и день учитывать...