1

我想添加一个名为 column_ourcountry_time 的列,它将显示每行创建时间的时间戳 DATE_ADD INTERVAL 10 HOUR 到每行中服务器的当前时间。

当我使用 TIMESTAMP 时,它会保存当前服务器时间,没关系,但我想存储我们国家的时间戳,即服务器时间 +10 小时。任何人都可以帮助我完成它。
在此先感谢
您的忠实
艾曼

4

3 回答 3

0

你可以使用

SET  time_zone = '+10:00'

在这里阅读 http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

于 2011-04-19T09:14:09.860 回答
0

你的意思是像

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 作为时区。)

于 2011-04-19T07:35:09.237 回答
0

尝试

SELECT NOW() + INTERVAL 10 HOUR
于 2011-04-19T08:03:02.163 回答