我想添加一个名为column_ourcountry_time的列,它将显示每一行创建时的时间戳DATE_ADD INTERVAL 10 HOUR到每一行服务器的当前时间
当我使用TIMESTAMP时,它保存当前服务器时间,这很好,但我想存储我们国家的时间戳,这是服务器时间+10小时。谁来帮我一下。
提前感谢
你忠实的
Aiman
你是说
select addtime(now(), '10:00:00');
因为这增加了时间,使日子保持不变(24小时)等等。
如果'10:00:00'部分是另一列timezone_offset
中的变量'10',我认为您可以使用此:
select addtime(now(), concat(timezone_offset, ':00:00')) from table;
—edit 1
根据timezone_offset和MySQL服务器的时区,你可能需要在使用addtime:
之前修改timezone_offset如果MySQL运行UTC +1
而您保存timezone_offset compared to UTC
,您必须更改所有timezone_offset -1
,因为now()
不是UTC时区。
—edit 2
我发现在UTC中存储所有时间是最佳实践,因为这是最容易计算from和to的。如果你正在做任何与时区和偏移量:做一切UTC。(确保你的MySQL服务器也有UTC作为时区)
Try
SELECT NOW() + INTERVAL 10 HOUR
你可以使用
SET time_zone = '+10:00'
在这里阅读的http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html