Я недавно повышен до PHP5, и noticied, что внутри приложения я построил там, кажется, дополнительный час добавляется в некоторые из моих переменных и caculations.
Я использую:
date_default_timezone_set ( 'Europe / London');
который я понимаю, означает, что PHP использует BST противоположность стандартному GMT, но когда я печатаю пустые переменные (возвращаемый до того, как 00:00, используя «H: я») - я сейчас получаю 01:00.
Когда caculating / разница в час минут между двумя DateTimes - Я также получаю дополнительный час.
Мой основной код:
<td><?php if(isset($item->start_time)) { echo date('H:i', strtotime($item->start_time)); } ?></td>
<td><?php if(isset($item->finish_time)) { echo date('H:i', strtotime($item->finish_time)); }?></td>
<td>
<?php
$start = strtotime($item->start_time);
$end = strtotime($item->finish_time);
$elapsed = $end - $start;
if($elapsed != NULL) { echo date(H:i, $elapsed); }
?>
</td>
Что для примера rown возвращается:
Начало: 08:57 (на основе $ item-> start_time в 2011-03-19 8:57:23 в моей БД)
Отделка: 12:59 (на основе $ item-> finish_time в 2011-03-19 12:59:38 в моей БД)
Caculation: 5:02 (Это должно быть 04:02)













