Определение возраста по дате рождения

Статус
В этой теме нельзя размещать новые ответы.
Далеко не в каждом году 365 дней. Чем больше возраст человека - тем больше ошибка.

Ну да, у 50-летнего будет ошибка дней на 10ть. Учитывая что возраст в годах и там floor() ошибаться оно будет крайне редко.

Но для фанатов чистого подхода, вот:
PHP:
$years = date('Y') - date('Y',strtotime($birthdate));
if (date('m-d') < date('m-d',strtotime($birthdate))) $years--;
//years - в годах.

(если дата в этом году еще не наступила, то из годов вычитаем 1).
 
Не понимаю, зачем вы из ничего делаете проблему? Нафига юникс время, а потом греть голову сколько дней в каком году? Делайте как простые люди, а не суперкодеры :) Вычитайте текущую дату из даты рождения:


PHP:
<?php

	// 15.01.1956 - дата рождения
	$day = 15;
	$mon = 01;
	$yea = 1956;

	$fix = 1;	
	if (date('m') > $mon)
		$fix = 0;
	elseif (date('m') == $mon)
	{
    	if (date('d') > $day)
    		$fix = 0;	
	}
	$age = date('Y') - $yea -  $fix;
	echo $age;

?>
 
Это просто сделать средствами JavaScript. Нужно пользоваться методами объекта Date? а именно getTime(). Прочитай об этом объекте в любом справочнике по JavaScript и и все станет ясно сразу.
 
я бы так, наверно, сделал..
Код:
SELECT UNIX_TIMESTAMP(dob) AS age..
PHP:
date( time() - $sql['age'] );

зы.. а вообще привык уже все даты в timestamp в sql хранить..
 
А как можно выдасть дату в этом формате
yy Год mm Месяцов dd Дней
 
echo date("y Год m Месяцев d Дней");
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху