Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Подсчет возраста по дате рождения
Форумы портала PHP.SU » PHP » Пользовательские функции » Подсчет возраста по дате рождения

Страниц (1): [1]
 

1. snikers987 - 01 Марта, 2012 - 19:08:20 - перейти к сообщению
Цитата:

int getAgeFromDate (string $date)

PHP:
скопировать код в буфер обмена
  1. function getAgeFromDate($date){
  2.         return floor((time()-strtotime($date))/(60*60*24*365.25));
  3. }


Эта однострочная функция довольно точно подсчитывает возраст, при чем даже на граничных датах - за 1 день до дня рождения возраст будет верным.

пример:
PHP:
скопировать код в буфер обмена
  1. //database connection is already established
  2. $rgResult = $mysqli->query("SELECT DATE_FORMAT(`birthday`, '%d %M %Y') as birthdate FROM `users` WHERE `user_id` = 1")->fetch_assoc();
  3. echo getAgeFromDate($rgResult['birthdate']); //тоесть формат даты, к примеру, 1 April 1957
  4.  

Естественно поле birthday в бд должно иметь тип date или timestamp или datetime
2. improbable - 05 Марта, 2012 - 14:39:32 - перейти к сообщению
колумб
3. snikers987 - 05 Марта, 2012 - 17:47:46 - перейти к сообщению
improbable пишет:
колумб

Очень приятно)

 

Powered by ExBB FM 1.0 RC1