我想添加一个名为 column_ourcountry_time 的列,它将显示每行创建时间的时间戳 DATE_ADD INTERVAL 10 HOUR 到每行中服务器的当前时间。
当我使用 TIMESTAMP 时,它会保存当前服务器时间,没关系,但我想存储我们国家的时间戳,即服务器时间 +10 小时。任何人都可以帮助我完成它。
在此先感谢
您的忠实
艾曼
你的意思是像
select addtime(now(), '10:00:00');
因为这会增加时间并保持像现在这样的日子(24 小时)等。
如果 '10:00:00' 部分是另一列中的变量 '10' timezone_offset
,我认为您可以使用它:
select addtime(now(), concat(timezone_offset, ':00:00')) from table;
-- 编辑 1
根据 timezone_offset 和 MySQL 服务器的时区,您可能必须在使用 addtime 之前更改 timezone_offset:
如果 MySQL 运行UTC +1
并保存timezone_offset compared to UTC
,则必须更改 all timezone_offset -1
,因为now()
不是 UTC 时区。
-- 编辑 2
我发现以 UTC 存储所有时间是一种最佳做法,因为这是最容易计算的。如果您正在使用时区和偏移量做任何事情:做所有的 UTC。(确保您的 MySQL 服务器也有 UTC 作为时区。)
尝试
SELECT NOW() + INTERVAL 10 HOUR