Как стать автором
Обновить

PHP пошел по следам Мюнхаузена: 26 октября у него 25 часов в сутках!!!

Время на прочтение1 мин
Количество просмотров903
Наткнулся на досадную ошибку в функциях времени PHP (проверено на версиях 5.1.2 и 4.3.3)
У кого установлены версии поновее — проверьте, пожалуйста. А то ради одной проверки переустанавливать ломы… Под хабракатом код для проверки.

<?php
echo strtotime("2008-10-26")-strtotime("2008-10-25")."\n";
echo strtotime("2008-10-27")-strtotime("2008-10-26")."\n";
echo strtotime("2008-10-28")-strtotime("2008-10-27")."\n";

$time=strtotime("2008-10-25");
$end_time=strtotime("2008-10-28");
while($time<$end_time)
{ echo $time."\t";
echo date('Y-m-d H:i:s',$time)."\n";
$time+=86400; // 60sec * 60min * 24hour
}
?>


Результат:

86400
90000
86400
1224871200 2008-10-25 00:00:00
1224957600 2008-10-26 00:00:00
1225044000 2008-10-26 23:00:00
1225130400 2008-10-27 23:00:00

UPDATE: Для тех, кому лень читать комментарии — это, оказывается не баг, это — фича! Связано с летним-зимним временем.
Теги:
Хабы:
+2
Комментарии16

Публикации

Истории

Работа

PHP программист
157 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн