MySQL怎么设置时区为格林威治时间。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL怎么设置时区为格林威治时间。相关的知识,希望对你有一定的参考价值。
参考技术A mysql 时区默认是服务器的时区。查看:
复制代码代码如下:
mysql> SHOW VARIABLES LIKE '%time_zone%';
+------------------+--------+
| Variable_name| Value |
+------------------+--------+
| system_time_zone | CST|
| time_zone| SYSTEM |
+------------------+--------+
2 rows IN SET (0.00 sec)
可以通过修改my.cnf, 在 [mysqld] 之下加来修改时区。
default-time-zone=timezone
例如:
default-time-zone='+8:00'
修改后记得重启msyql。
注意一定要在 [mysqld] 之下加 ,否则会出现错误: unknown variable ‘default-time-zone=+8:00′
另外也可以通过命令:
SET time_zone=timezone
例如:比如北京时间(GMT+0800)
SET time_zone='+8:00'
这个和php的时区设置又有点差别,比如北京时间在php中是:
date_default_timezone_set('Etc/GMT-8');
美国pst时间(GMT-08:00)
SET time_zone = '-8:00';
复制代码代码如下:
mysql> SET time_zone = '+8:00';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT now();
+---------------------+
| now() |
+---------------------+
| 2008-12-29 11:26:36 |
+---------------------+
1 row IN SET (0.00 sec)
mysql> SET time_zone = '-8:00';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT now();
+---------------------+
| now() |
+---------------------+
| 2008-12-28 19:27:09 |
+---------------------+
1 row IN SET (0.00 sec)追问
我知道啊你这是把默认时区设为北京,默认的不是system吗,我想把他设置成格林威治时间,设为‘GMT’他报错...
选择 Now() 作为 CurrentDateTime mysql 时区
【中文标题】选择 Now() 作为 CurrentDateTime mysql 时区【英文标题】:Select Now() as CurrentDateTime mysql time zone 【发布时间】:2012-01-01 20:54:23 【问题描述】:我如何将SELECT Now() As CurrentDateTime
用于格林威治标准时间,因为它将大部头显示为 GMT-5。
基本上,当格林威治标准时间为:2011-11-19 09:46:37
时,它显示为:`2011-11-19 04:46:37
如何为 GMT 设置此项。
谢谢。
【问题讨论】:
【参考方案1】:一种方法是为您的会话设置时区:
SET time_zone = '+00:00';
MySQL "time zone support" documentation.
还有CONVERT_TZ,这里解释一下:MySQL default time format UTC or GMT?
【讨论】:
如何在 Select 语句中使用它 您在 SELECT 语句之前执行此操作(这是每个连接的设置,因此它在选择之后保持活动状态)。如果您不想一直(重新)设置连接的时区,可以使用 CONVERT_TZ() 函数。以上是关于MySQL怎么设置时区为格林威治时间。的主要内容,如果未能解决你的问题,请参考以下文章
时区、时间戳、 时区、格林威治(GMT)、协调世界时(UTC)的关系