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

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

Время на прочтение1 мин
Количество просмотров930
Наткнулся на досадную ошибку в функциях времени 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: Для тех, кому лень читать комментарии — это, оказывается не баг, это — фича! Связано с летним-зимним временем.
Теги:
Хабы:
Всего голосов 20: ↑11 и ↓9+2
Комментарии16

Публикации

Истории

Работа

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

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
20 – 22 сентября
BCI Hack Moscow
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
24 сентября
Astra DevConf 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн