【问题标题】:Convert TIMEDIFF to hours plus minutes将 TIMEDIFF 转换为小时加分钟
【发布时间】:2013-08-26 22:03:14
【问题描述】:
time1: 2013-08-26 16:33:00  
time2: 2013-08-26 15:10:00

$query="UPDATE `FlightSchedule` 
SET delay = MINUTE(TIMEDIFF(time1, time2)) 
WHERE `flightNum_arr`='".$flightNum_arr."';";

它将值 23 保存为延迟。相反,正确答案应该是 83 分钟。如何获得?

【问题讨论】:

标签: php mysql minute


【解决方案1】:

我想你正在寻找:

$query="UPDATE `FlightSchedule` 
SET delay = CEIL((UNIX_TIMESTAMP(time1) - UNIX_TIMESTAMP(time2))/60)
WHERE `flightNum_arr`='".$flightNum_arr."';";

另外,还有TIME_TO_SEC 函数 - 由于它以秒为单位提供结果,因此您也需要将其除以 60。

【讨论】:

    【解决方案2】:

    它返回1 hour 23 min。你必须得到小时。

    以下代码返回4980 秒。而且你必须除以 60 分钟。

    你可以使用TIME_TO_SEC

    TIME_TO_SEC(TIMEDIFF(time1, time2)) / 60
    

    【讨论】:

    • 这很奇怪,但在我的情况下它说“查询没有返回结果集”。未保存任何条目。更新FlightSchedule SET delay = TIME_TO_SEC(TIMEDIFF(time1,time2))/60 WHERE flightNum_arr='3911';
    • 可以直接在phpMyadmin上运行吗?
    • 是的,我做到了。结果是一样的。
    • 你可以试试ceil like: CEIL(TIME_TO_SEC(TIMEDIFF(time1, time2)) / 60)
    猜你喜欢
    • 1970-01-01
    • 2015-05-18
    • 2018-12-26
    • 2014-12-01
    • 2015-07-20
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多