PHP每天午夜的精神时间为一小时

时间:2013-10-29 11:45:03

标签: php time

我运行这个脚本可以很好地估计出现天气相关的时间。但午夜它变得疯狂,在整个午夜时分,它会返回疯狂的负面时间,如-1100分钟和东西,然后当它到达0100时,它恢复正常并报告,如20分钟等。

脚本:

  $timenow = date("H:i:s");

  $eventtime= strtotime("$gettimefromtextfile"); //time the weather event will happen in the near future
 $TimeEnd = strtotime($timenow);
 $Difference = ($eventtime - $TimeEnd);
if ($Difference >= 0) {
 $minutes = floor(($Difference / 60)); 
// print how many minutes until an event happens, discard it if event is in the past

我知道日期函数在午夜到PHP 5.3时出现问题。但我正在运行PHP 5.3,所以不应该是一个问题。我不需要约会,只是我需要的时间,天气相关的东西最多只报告小时差异。

有关替代功能或编码的任何建议会在午夜停止这种痉挛吗?

1 个答案:

答案 0 :(得分:1)

使用DateTime::diff怎么样?不要重新发明轮子!

<?php
date_default_timezone_set('Europe/Lisbon'); 

$next = new DateTime('18:00:01');
$now = new DateTime();
$diff = $next->diff($now);

echo $diff->format('%h hours, %i minutes');
?>

参考:http://php.net/manual/en/datetime.diff.php