假设下表:
CREATE TABLE IF NOT EXISTS `test` (
`stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
当我运行以下 SQL 时:
SET time_zone = '+00:00';
INSERT INTO `test` (`stamp`) VALUES (CURRENT_TIMESTAMP);
中的值test
是我机器的本地时间而不是 UTC。
根据 MySQL网站
TIMESTAMP 列的值从当前时区转换为 UTC 进行存储,从 UTC 转换为当前时区进行检索。
我究竟做错了什么?我想用 UTC 日期/时间戳存储我的记录,并在用户的本地时区检索它们。