【问题标题】:Where does PHP get it's DATE information from?PHP 从哪里得到它的 DATE 信息?
【发布时间】:2014-02-10 02:32:32
【问题描述】:

我住在英国,当前时间是 2014 年 2 月 10 日星期一凌晨 02:30,但是,我的网站显示 2014 年 2 月 9 日星期日凌晨 02:30 - 午夜之前的日期和日期相同,所以我假设时区差异。我可以将其设置为我自己的时区吗?

编辑:我可以将其设置为用户的时区吗?

【问题讨论】:

  • 不应该是时区问题。看看你的日期解释是否有偏差。

标签: php datetime timezone


【解决方案1】:

如果整整 24 小时后,这看起来不像是时区问题。但是以防万一,它是在您的 php.ini 中设置的,并且没有设置,它默认为服务器时区。

您可以通过将date.timezone 设置为您选择的时区,在您的php.ini 文件中进行设置。

date.timezone = Europe/London;

如果您无权访问 php.ini,您可以使用 date_default_timezone_set 在脚本中设置时区。

date_default_timezone_set('Europe/London');

【讨论】:

  • 哦,哇,我不知道这是一个命令,谢谢 - 这对我有用,但为什么它不会自动获取用户自己的日期?你知道我怎样才能做到这一点吗?
  • PHP 不会真正知道用户的本地日期/时间是什么。不过this solution看起来很不错。
  • 可能是一个很长的(不准确)方法:使用$_SERVER['REMOTE_ADDR'] 检测用户的IP,使用IP 地理定位服务获取国家/地区,然后为该国家/地区提供适当的时区。
【解决方案2】:

你有两种方法来定义你想要的时区:

  1. date_default_timezone_setdate_default_timezone_set('Asia/Manila');

  2. 修改您的 php.inidate.timezone = Asia/Manila

【讨论】:

    【解决方案3】:

    在代码中,您可以通过调用date_default_timezone_get() 查看默认时区。您可以使用date_default_timezone_set() 以编程方式设置它。最好的方法是使用 php.ini 设置。

    【讨论】:

      【解决方案4】:

      我认为你必须在初始化 PHP 环境的 php.ini 文件中设置时区首选项如果你无权访问类似的东西,你可以查看http://www.php.net/manual/en/function.date-default-timezone-set.php

      【讨论】:

        猜你喜欢
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-04
        • 1970-01-01
        • 2018-03-05
        • 1970-01-01
        相关资源
        最近更新 更多