4
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 分钟。如何得到它?

4

2 回答 2

4

我认为您正在寻找:

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

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

于 2013-08-26T14:02:00.857 回答
4

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

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

您可以使用TIME_TO_SEC

TIME_TO_SEC(TIMEDIFF(time1, time2)) / 60
于 2013-08-26T14:03:14.020 回答