想要使用DATE_ADD将字段添加到时间戳

时间:2011-04-19 07:19:15

标签: php mysql datetime timestamp dateadd

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

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

3 个答案:

答案 0 :(得分:0)

你的意思是

select addtime(now(), '10:00:00');

因为这样可以增加时间并保持日子(24小时)等等。

如果'10:00:00'部分是另一列timezone_offset中的变量'10',我想你可以使用它:

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,则必须更改所有timezone_offset -1,因为now()不是UTC时区。

- 编辑2

我发现将所有时间存储在UTC中是最佳做法,因为这是最简单的计算方法。如果你正在做任何关于时区和偏移的事情:做一切UTC。 (确保您的MySQL服务器也具有UTC作为时区。)

答案 1 :(得分:0)

尝试

SELECT NOW() + INTERVAL 10 HOUR

答案 2 :(得分:0)

你可以使用

SET  time_zone = '+10:00'

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