自从 2 周以来,我对时区问题感到困惑,在我的本地主机上一切正常,但在专用服务器上返回错误值。让我告诉我到目前为止我做了什么。
首先通过以下查询设置全球时区:(本地主机和服务器上的超级权限)
SET GLOBAL time_zone = '+00:00';
现在在查询下方运行以交叉检查所做的任何事情
SELECT NOW(),@@global.time_zone AS gtz,@@session.time_zone AS stz,
TIMEDIFF(NOW(), CONVERT_TZ( NOW() , @@session.time_zone , '+00:00' ) )
AS OFFSET;
但它在本地和专用服务器上显示不同的结果
在 localhost (192.168.xx) mysql 版本:5.5.8
+---------------------+--------+--------+----------+
| NOW() | gtz | stz | OFFSET |
+---------------------+--------+--------+----------+
| 2012-07-02 07:06:55 | +00:00 | +00:00 | 00:00:00 |
+---------------------+--------+--------+----------+
1 row in set (0.00 sec)
在专用服务器(182.168.xx)上 mysql 版本:5.1.53-log
+---------------------+--------+--------+----------+
| NOW() | gtz | stz | OFFSET |
+---------------------+--------+--------+----------+
| 2012-07-02 12:37:59 | +00:00 | +00:00 | 00:00:00 |
+---------------------+--------+--------+----------+
我的问题是
为什么NOW()给出错误的时间(上面是 IST )而时区设置为 +00:00 ?
边注 :
我在查询下运行
SHOW VARIABLES LIKE '%time%zone%';
在本地主机上
+------------------+---------------------+
| Variable_name | Value |
+------------------+---------------------+
| system_time_zone | India Standard Time |
| time_zone | +00:00 |
+------------------+---------------------+
在服务器上
+------------------+---------------------+
| Variable_name | Value |
+------------------+---------------------+
| system_time_zone | GMT+5 |
| time_zone | +00:00 |
+------------------+---------------------+
这会影响结果吗?或者
早期版本的mysql有什么错误吗?
请帮我。