SELECT CONVERT_TZ命令不影响MySql服务器时区

时间:2013-07-08 10:10:30

标签: mysql date datetime time timezone

我在共享的unix服务器上。

它具有默认时区-06:00:00

根据MySQL Manual我试图通过执行以下命令来设置我的时区:

SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');

正在执行命令,但它不会影响时区。服务器或我的SQL命令有什么问题?

感谢,

2 个答案:

答案 0 :(得分:1)

如果要检查mysql服务器时区

使用以下SQl查询

SELECT @@global.time_zone, @@session.time_zone;

如果你想改变时区,你可以试试这个

set @@global.time_zone = '+07:00'

这将改变mysql服务器的时区。

注意:如果重新启动服务器,将刷新更改,在这种情况下,您应再次触发查询。

希望这会有所帮助。

答案 1 :(得分:1)

你在共享的unix服务器上,所以你可能不想改变MySQL服务器的时区(除非你想搞砸所有正在使用它的人)。

检查CONVERT_TZ的文档 - 它没有设置时区,它将日期时间从一个时区转换为另一个时区。它返回一个日期时间。

对于您的示例,SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');正确返回2004-01-02 01:00:00

如果您更改了连接的时区,这对其他用户不会产生任何影响,但它会允许您使用不同的默认时区进行连接上的所有交易。使用:

SET time_zone = {timezone}; -- where {timezone} is the timezone you want to use

请参阅http://dev.mysql.com/doc/refman/5.1/en/time-zone-support.html了解文档