xingmeng

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)  




定义函数:

function set_time_zone(){
mysql_query("set time_zone = \'+8:00\';");
$sql=mysql_query("select now() as now");
$r=mysql_fetch_array($sql);
return $r[\'now\'];
}

分类:

技术点:

相关文章:

  • 2022-02-03
  • 2022-12-23
  • 2022-01-19
  • 2021-12-27
  • 2022-12-23
  • 2022-02-04
猜你喜欢
  • 2022-12-23
  • 2022-02-23
  • 2022-01-13
  • 2022-01-06
  • 2021-12-06
  • 2022-02-27
相关资源
相似解决方案