我在一个共享的 Unix 服务器上。
它有默认时区-06:00:00
根据MySQL Manual
我试图通过执行以下命令来设置我的时区:
SELECT CONVERT_TZ('2004-01-01 12:00:00','-06:00','+07:00');
该命令正在执行,但不影响时区。服务器或我的有什么问题SQL
命令有什么问题?
谢谢,
你在一个共享的 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
如果你想检查 mysql 服务器时区
使用下面的 SQL 查询
SELECT @@global.time_zone, @@session.time_zone;
如果你想更改时区,你可以简单地试试这个
set @@global.time_zone = '+07:00'
这将更改 mysql 服务器的时区。
注意:如果您重新启动服务器,更改将被刷新,在这种情况下,您应该再次触发上述查询。
希望这可以帮助。