查询仅为将来的日期返回不同的时区

时间:2014-10-13 12:07:33

标签: mysql

我有一个查询应该根据日期时间返回午夜的时间戳。它工作正常,但未来的日期会减少一个小时:

SELECT
    DATE_FORMAT(`events`.`StartDate`, '%Y-%m-%d 00:00:00') AS `StartDateRaw`,
    DATE_FORMAT(`events`.`StartDate`, '%H:%i') AS `StartTimeRaw`,
    UNIX_TIMESTAMP(DATE_FORMAT(`events`.`StartDate`, '%Y-%m-%d 00:00:00')) AS `StartDayUnix`,
    UNIX_TIMESTAMP(`events`.`StartDate`) AS `StartTimeUnix`,
    `events`.`StartDate` AS `eventsStartDate`
FROM `events`
ORDER BY `events`.`StartDate` ASC;

返回:

enter image description here

我的时区是BRT(UTC -3),但未来结果似乎是UTC -2
预计:2014-10-21 03:00:00 UTC => 1413860400,实际:1413856800 => 2014-10-21 02:00:00 UTC

过去的事件在同一个查询中显示正常。顺便说一句,整个系统只运行并以UTC-3访问。执行时它是2014-10-13 08:53:00 UTC-3

1 个答案:

答案 0 :(得分:0)

问题是BRT将在2014-10-19结束夏令时,“增加”一小时。