【问题标题】:why does the date php and date unix does not match?为什么日期php和日期unix不匹配?
【发布时间】:2012-01-04 20:37:41
【问题描述】:

我有 centos 服务器,我按日期 cmd 将时间更改为纽约时间。 我也在 php.ini 中更改了 "date.timezone = "America/New_York"" 当我在命令外壳中输入命令日期时。我得到了纽约的实时时间。 但是当我这样做时

回显日期("Y-m-d H:i:s");

时间不对! 我总是比在纽约的时间少 6 个小时。 请帮忙? 我已经尝试过使用 date_default_timezone_set('America/New_York');在没有帮助的代码中。 等待回复。 谢谢! 科伦或

【问题讨论】:

    标签: unix date time php


    【解决方案1】:

    我将时间按日期 cmd 更改为纽约时间

    date 命令不提供更改时区的方法。您可能将其设置为纽约时间的时间,但是无论它已经设置为哪个时区,因此您最终将服务器时间设置为六个小时(奇怪,如果是 UTC,它应该是五个小时)。

    设置TZ环境变量export TZ=America/New_York之前用date命令设置时间。服务器时间不正确会导致严重的问题。

    【讨论】:

      【解决方案2】:

      您可以在应用中初始化时区。当你这样做时会发生什么?

      date_default_timezone_set('America/New_York');
      echo date("Y-m-d H:i:s");
      

      【讨论】:

      • 我得到 :2011-11-23 04:44:09 实际时间是 2011-11-23 10:44:09
      • 那一定是服务器时间/时区配置错误。
      【解决方案3】:

      我在 php.ini 中更改了 "date.timezone = "America/New_York""

      看,这是不熟悉形式逻辑的人的常见错误。
      让我用一个小例子告诉你:

      假设您只是往口袋里放了一些钱。
      我走过来问你口袋里有没有钱。 你说“是”。

      但你不能肯定地说! 您可以确定只有您将它放在那里。 但是口袋里可能有一个洞,或者一些小偷已经把它捡了,或者你只是混淆了口袋。 所以,你必须先检查一下,然后再回答。

      虽然它在现实世界中可以忽略不计,但在编程中这种行为变得至关重要! 您可以更改任何设置,但您必须验证您的操作是否有任何效果
      可能存在 apache 重新加载问题,或错误的 ini.file 或某些运行时设置覆盖它。

      Tl:dr
      始终验证您的设置、变量、数据 - 如果它真的包含预期值!
      不要依赖您在某处更改它的事实。

      【讨论】:

      • 我确实验证了它。我重新启动 apache 和 httpd。没有效果。
      【解决方案4】:

      这听起来像是在你的机器上没有正确设置时区的问题。

      首先,要验证 PHP 使用的时区是否正确,请尝试以下操作。

      echo date("Y-m-d H:i:s e");
      

      如果您在脚本中正确设置,那应该会给您“美国/纽约”。

      如果是这样,我会尝试使用here 讨论的程序来更改您系统上的时间,看看是否可行。

      【讨论】:

      • 这行得通,但是!当实际时间为“Wed Nov 23 16:49:53 CET 2011”时,小时已更改为“Wed Nov 23 10:49:03 EST 2011”
      • @user692601 我相信您已经更改了时区,需要再次设置系统时间。您可以使用“日期”命令来做到这一点。在您选择的任何时区将其设置为正确的时间。
      • @user692601 这整个问题似乎源于使用 CET 时区(相对于纽约时间 +6 小时)。您显示的实际时间正确的时间,但不是所示的 CET 时区。您需要确保您的时区设置正确,并且您的系统时间是该时区的正确时间。
      【解决方案5】:

      我只是在这里猜测,但是您是否重新启动了 apache 服务器?

      【讨论】:

        猜你喜欢
        • 2023-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        相关资源
        最近更新 更多