douchengfei3985 2013-10-29 11:45
浏览 29
已采纳

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

I run this script which works sweet estimating how much time before something weather related happens. But a midnight it goes crazy and for the whole midnight hour, it returns crazy negative times like -1100 minutes and stuff, then when it gets to 0100 hrs it's back to normal and reports, like 20 mintues etc.

Script:

  $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

I know the date function had issues with midnight up to PHP 5.3. But I am running PHP 5.3 so shouldn't be an issue. I don't need the date, it is only time I need, weather related stuff is reported only hours difference at most.

Any suggestions on an alternative function or coding that will stop this spasm at midnight?

  • 写回答

1条回答 默认 最新

  • duan33360 2013-10-29 12:10
    关注

    What about using DateTime::diff? Don't reinvent the wheel!

    <?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');
    ?>
    

    Reference: http://php.net/manual/en/datetime.diff.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊