Хочу на сайте своем сделать отображение возраста зарегистрированных посетителей в днях. Вычислять только решил с учетом всех високосных годов. Никак не получается! Помогите разобраться, или подскажите как можно иначе сделать то, что я пытаюсь сделать, и прийти к нужному результату. Дату рождения ставлю свою - 4 марта 1988. По состоянию на 31 августа 2004 года я живу 6023 дня (вручную посчитал... хех...). А мне мой скрипт говорит, что я живу 6001 день.. 
| Код | <?php
$b_day=4; $b_month=3; $b_year=1988;
$year1=array("31", "59", "90", "120", "151", "181", "212", "243", "273",
"304", "334", "365"); $year2=array("31", "60", "91", "121", "152", "182", "213", "244", "274",
"305", "335", "366"); $y_year1=array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31",
"30", "31"); $y_year2=array("31", "29", "31", "30", "31", "30", "31", "31", "30", "31",
"30", "31");
// вычисляем количество дней жизни в году рождения if($b_year%4==0) { $age=366-($year2[$b_month-1]-$b_day); } else { $age=365-($year1[$b_month-1]-$b_day); }
// вычисляем количество дней жизни в текущем году if(date("Y")%4==0) { $age=$age+($year2[date("n")-1]-($y_year2[date("n")-1]-date("d"))); } else { $age=$age+($year1[date("n")-1]-($y_year1[date("n")-1]-date("d"))); }
// вычисляем количество дней жизни всего for($i=$b_year+1;$i<date("Y");$i++) { if($i%4==0) { $age=$age+366; } else { $age=$age+365; } }
// готово echo "Возраст: ".$age." дней";
?> | |