NOW()函数存到MYSQL的DATETIME字段中的时间,与系统时间差8小时

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NOW()函数存到MYSQL的DATETIME字段中的时间,与系统时间差8小时相关的知识,希望对你有一定的参考价值。

NOW()函数存到mysql的DATETIME字段中的时间,与系统时间差8小时,为什么?

你没有设置MySQL的时区
可以通过修改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';
设置完成后记得刷新权限FLUSH PRIVILEGES;
参考技术A now()得到的是服务器的时间。。
或者你可以设置一下date_default_timezone_set('Etc/GMT-8');
把时区设置为上海
参考技术B 人品问题

Oracle,MySQL,sqlserver三大数据库如何获取系统当前时间

Oracle中如何获取系统当前时间:用SYSDATE()

MySQL中获取系统当前时间主要有以下几点:

(1)now()函数以(‘YYYY-MM-dd HH:mm:SS‘)返回当前的日期时间,可以直接存到DATETIME字段中

(2)CURDATE()函数以‘YYYY-MM-dd‘的格式返回今天的日期,可以直接存到DATE字段中

(3)CURTIME()函数以‘HH:mm:SS‘的格式返回当前的时间,可以直接存储到TIME字段中

Sql Server 中一个非常强大的日期格式化函数: 

获得当前系统时间,GETDATE();

 

以上是关于NOW()函数存到MYSQL的DATETIME字段中的时间,与系统时间差8小时的主要内容,如果未能解决你的问题,请参考以下文章

mysql中时间是dateTime类型的

什么是informix for mysql now() 中的replace 函数

mysql 中,计算2个datetime类型的字段,相减得到的分钟数

使用 MySQL/PHP 在字段中使用 now() 插入当前日期/时间

mysql 修改时间字段,我建立了表,有一个字段是时间,格式是datetime

Mysql5.1中,datetime类型的字段为啥插入不了NULL值