mysql时间和php时间不一样

dan*_*iel 8 php mysql datetime

当我使用current_timestampMySQL时,我得到了正确的时间,但是当我使用时

$mysqldate = date( 'Y-m-d H:i:s' );

我得到了延迟一小时的日期(例如,下午4:42是下午5:42).我明白这两个功能都使用服务器的本地时间 - 有人可以解释一下这个区别吗?

谢谢.

Gab*_*esy 9

全局系统时间将通过/ etc/localtime文件设置,该文件将是符号链接或大多数系统上来自/ usr/share/zoneinfo /的区域文件的副本.应用程序将使用它作为默认值.

PHP可以通过几种不同的方式覆盖它:

  1. php.ini中的date.timezone
  2. 设置TZ环境变量,例如 putenv("TZ=US/Central");
  3. date_default_timezone_set函数(在PHP> = 5.1.0中)

MySQL可以通过在连接后立即运行以下查询来覆盖它:

SET time_zone = 'US/Central'
Run Code Online (Sandbox Code Playgroud)