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] 之下加 ,否則會出現 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';
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)