根据不同区域的日期名称减去时间

时间:2012-04-11 08:34:27

标签: mysql sql date

我需要使用mysql查询减去时间/日;

星期六(格林威治标准时间+5)周三00:59(格林威治标准时间-1)(格林威治标准时间-1)02:00这样的事情

如何使用sql查询执行此操作?得到3天7小时1分钟的结果

  

编辑:两天都是同一周

2 个答案:

答案 0 :(得分:1)

假设这项工作的日期,并且感谢@symcbean,我可以让它与TIMEDIFF一起使用

SELECT TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00');

以及日期和时间:

SELECT CONCAT(
    FLOOR(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')) / 24), ' days ',
    MOD(HOUR(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), 24), ' hours ',
    MINUTE(TIMEDIFF(CONVERT_TZ('2012-04-15 02:00:00', '-01:00', '+05:00'), '2012-04-12 00:59:00')), ' minutes') as TIMEDIFF;

答案 1 :(得分:0)

SELECT CONVERT_TZ('2012-04-07 02:00:00', '-01:00', '00:00')
         - CONVERT_TZ('2012-04-04 00:59:00', '05:00', '00:00')
  

编辑:两天都是同一周

然后通常星期六的t1和星期六的t2之间的差距将是相同的,因为DST班次通常在周日早上应用。最好使用固定日期。