使用php和mysql。 在test.php文件中有这个简单的脚本:
echo date('Y m d h:i');
echo date_default_timezone_get();
DB::execute('insert into test (date) values (now()) ');
在浏览器中,它显示GMT作为服务器date_default_timezone_get功能和日期的结果,如“2015 07 16 20:06”。但是在数据库中,该值的存储时间为2小时,与中欧时间相同(2015 07 16 22:06)。 我已经检查了mysql变量TIME_ZONE设置为SYSTEM,所以我认为存储在DB中的日期应该与从php服务器显示的日期相同?我现在在中欧,有可能mysql以某种方式知道这个并根据我的计算机系统时区设置日期吗?
当我运行这个mysql
时select @@time_zone, now(), utc_timestamp()
我收到: 系统| 2015-07-16 22:27:22 | 2015-07-16 20:27:22 另外我看到其他mysql变量SYSTEM_TIME_ZONE设置为CEST。也许这就是我在中欧时区存储日期的原因?即使在php我有不同的时区和mysql TIME_ZONE设置为系统? 表中的日期字段是日期时间格式