Задача достаточно простая, но у некоторых почемуто вызывает затруднение.
Приведу пример рассчёт возраста человека для таких исходных данных:
«1989-10-27″ (год – месяц – день);
Предположим, что у нас есть дата такого вида
$date=»1989-10-27″;
Можно пойти двумя путями, первый путь выглядит так:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $date="1989-10-27"; $arr = explode('-',$date); $day = $arr[2]; $month = $arr[1]; $year = $arr[0]; $birthdate_unix = mktime(0,0,0,$month, $day, $year); $current_unix = time(); $period_unix=$current_unix - $birthdate_unix; $key=intval(date('Y')/4); $extratime=(($key*4-$year)/4); $age_in_years = floor($period_unix / ((365+$extratime)*24*60*60)); echo "Ваш возраст составляет $a |
Но это отнюдь не самый оптимальный вариант
намного проще будет сделать так
1 2 3 4 | <?php $date1 = "1989-10-27"; echo (gmdate('Y', time() - strtotime($date1)) - 1970)."n"; ?> |