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 分钟。如何得到它?
我认为您正在寻找:
$query="UPDATE `FlightSchedule`
SET delay = CEIL((UNIX_TIMESTAMP(time1) - UNIX_TIMESTAMP(time2))/60)
WHERE `flightNum_arr`='".$flightNum_arr."';";
或者,还有TIME_TO_SEC函数 - 而且,由于它以秒为单位提供结果,因此您也需要将其除以 60。
它返回1 hour 23 min
。你必须得到小时。
以下代码返回4980
秒。你必须除以 60 分钟。
您可以使用TIME_TO_SEC
TIME_TO_SEC(TIMEDIFF(time1, time2)) / 60