MySQL服务器中的当前时区是UTC:
SELECT @@global.time_zone, @@session.time_zone;
打印UTC, UTC
在4:00 AM PST, on Jan 08, 2016
,当我的cron执行以下语句时:
select DATE(DATE_SUB(CONVERT_TZ(CURDATE(),'UTC','America/Los_Angeles'), INTERVAL 5 DAY))
得到2016-01-02
作为答案。它不应该给我2016-01-03
吗?因为我正在从2016-01-08
减去INTERVAL 5 DAYS
?
您可以设置数据库连接的时区,并将此TZ模式用于其他查询:
SET time_zone '+00:00'