php - mysql时间和php时间不一样

标签 php mysql datetime

当我在 MySQL 中使用 current_timestamp 时,我得到了正确的时间,但是当我使用

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

我得到的日期有一个小时的延迟(例如,下午 4:42 是下午 5:42)。 我知道这两个函数都使用服务器的本地时间 - 有人可以解释其中的区别吗?

谢谢。

最佳答案

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

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

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

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

SET time_zone = 'US/Central'

关于php - mysql时间和php时间不一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/969711/

相关文章:

mysql - 错误: Error during SonarQube Scanner execution caused by: java. lang.IllegalStateException:无法创建工作目录

PHP - 以秒为单位获取两个日期时间之间的差异

php - 检查字符串是否为图像

php - 显示数据库中路径的图像

javascript - AJAX 函数检测 session 何时过期并注销

mysql - 仅获取嵌套集模型中节点的直接子节点

mysql - 在 MySQL 查询中返回 NULL 值和非 NULL

php - 在 PHP 中格式化 MySQL 日期时间

javascript - 保持午夜过后的营业时间

javascript - 无限滚动: Load all data from database and scroll to show more