【问题标题】:mysql time and php time not the samemysql时间和php时间不一样
【发布时间】:2010-11-01 11:12:14
【问题描述】:

当我将current_timestamp 与 MySQL 一起使用时,我得到了正确的时间,但是当我使用时

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

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

谢谢。

【问题讨论】:

  • 您确定您的 MySQL 和 PHP 在同一台服务器上,对吗?一些主机将 MySQL 放在不同的服务器上。

标签: php mysql datetime


【解决方案1】:

也许您的 PHP 服务器认为它位于不同的时区,或者它使用不同的区域设置和夏令时规则。

【讨论】:

  • 我如何让 PHP 为我提供服务器计算机上列出的默认服务器时间? PHP 的 date.timezone 没有设置
【解决方案2】:

有php locale设置,它取自php.ini,而不是系统时间

【讨论】:

    【解决方案3】:

    全局系统时间将通过 /etc/localtime 文件设置,在大多数系统上,该文件将是符号链接或来自 /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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-16
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多