我的系统时区是 UTC+3。
当我在 MySQL 中使用时间戳列时,它们是我的时区的输出。因此,如果时间戳列的 UTC 时间为 00:00,对我来说它显示为 03:00。
我需要使用值填充时间戳列STR_TO_DATE
。
例如我这样做:
INSERT INTO `dates`(`created`)
VALUES (STR_TO_DATE('2016-11-01 00:00:00', '%Y-%m-%d %H:%i:%s'))
插入的值按原样显示:2016-11-01 00:00:00
。
我的结论是:STR_TO_DATE
认为它的输入在系统时区(UTC+3)中。
但我在 UTC 时区有日期时间字符串。我应该怎么办?该查询在 Liquibase 迁移中运行,因此我不能使用诸如@@global.time_zone
时区转换之类的变量。