当我在 MySQL 中使用 current_timestamp
时,我得到了正确的时间,但是当我使用
$mysqldate = date( 'Y-m-d H:i:s' );
我得到的日期有一个小时的延迟(例如,下午 4:42 是下午 5:42)。 我知道这两个函数都使用服务器的本地时间 - 有人可以解释其中的区别吗?
谢谢。
最佳答案
全局系统时间将通过/etc/localtime 文件设置,在大多数系统上,该文件将是一个符号链接(symbolic link)或来自/usr/share/zoneinfo/的区域文件的副本。应用程序将使用它作为它们的默认值。
PHP 可以通过几种不同的方式覆盖它:
- date.timezone在 php.ini 中
- 设置 TZ 环境变量,例如
putenv("TZ=US/Central");
- date_default_timezone_set函数(在 PHP >= 5.1.0 中)
MySQL 可以通过在连接后立即运行以下查询来覆盖它:
SET time_zone = 'US/Central'
关于php - mysql时间和php时间不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969711/