【发布时间】:2011-01-01 03:45:48
【问题描述】:
我有一张包含这些数据的表格:
[ID] [event_name] [last_event]
1 stats 2011-01-01 01:47:32
last_event 是一个时间戳。该事件每 48 小时发生一次(这是一项 cron 作业)。我想向我的用户显示事件再次执行之前的小时数。
到目前为止,我得到了:
SELECT (lastFinish + INTERVAL 48 HOUR) FROM `cron_status`
这给了我下一次发生的确切时间和日期:2011-01-03 01:47:32。所以我想如果我减去当前的日期时间......
SELECT ((lastFinish + INTERVAL 48 HOUR) - SYSDATE()) FROM `cron_status`
哪个(我认为?)给了我在 unix 时间上的差异:1980015。但是,如果我将其除以 3600 以将秒数转换为小时数...
SELECT (((lastFinish + INTERVAL 48 HOUR) - SYSDATE())/3600) FROM `cron_status`
我得到的数字太高了一个数量级:549.99。
我哪里错了?目标返回距离下一次执行的小时数。
谢谢!
【问题讨论】: