Pull to refresh

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

Reading time1 min
Views904
Наткнулся на досадную ошибку в функциях времени 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: Для тех, кому лень читать комментарии — это, оказывается не баг, это — фича! Связано с летним-зимним временем.
Tags:
Hubs:
Total votes 20: ↑11 and ↓9+2
Comments16

Articles