我运行这个脚本可以很好地估计出现天气相关的时间。但午夜它变得疯狂,在整个午夜时分,它会返回疯狂的负面时间,如-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,所以不应该是一个问题。我不需要约会,只是我需要的时间,天气相关的东西最多只报告小时差异。
有关替代功能或编码的任何建议会在午夜停止这种痉挛吗?
答案 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');
?>