0

我在一个共享的 Unix 服务器上。

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

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

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

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

谢谢,

4

2 回答 2

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

于 2013-07-08T12:52:59.070 回答
1

如果你想检查 mysql 服务器时区

使用下面的 SQL 查询

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

如果你想更改时区,你可以简单地试试这个

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

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

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

希望这可以帮助。

于 2013-07-08T11:22:00.903 回答