MySQL 时区默认是服务器的时区。
可以通过以下命令查看
SQL代码
-
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] 之下加
另外也可以通过命令
比如北京时间(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';
SQL代码
-
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)