【问题标题】:date_default_timezone_set() seems to have no effectdate_default_timezone_set() 似乎没有效果
【发布时间】:2015-08-19 10:56:02
【问题描述】:

我试图在 PHP 页面 (localhost) 上获取 time(),但它似乎返回了错误的日期。所以我尝试了:

date_default_timezone_set("America/Chicago");
echo "America/Chicago:".time();
echo "<br>";

date_default_timezone_set("Europe/Helsinki");
echo "Europe/Helsinki:".time();

哪些输出:

America/Chicago:1439981623
Europe/Helsinki:1439981623

这两个值怎么相同?如何确保这个特定的 php 页面在我的时区返回时间,而不更改 php.ini 文件?

【问题讨论】:

  • 我认为你不能多次设置默认时区。
  • 查看that问题的答案,可能对您有所帮助。
  • 谢谢。我仍然想知道为什么它不起作用。好像date_default_timezone_set 一点影响都没有,哪怕我只用过一次。
  • 我已经回答过了 :)

标签: php time


【解决方案1】:

正如“Timo K”在 php.net 文档的第一个 highly voted contribution note 中所述:

函数 time() 总是返回时间戳,即时区 独立 (=UTC)。

也就是说,您必须使用DateTime 对象及其处理多个时区的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-12
    • 2018-05-18
    • 1970-01-01
    • 2010-12-24
    • 2020-07-04
    • 2014-11-06
    • 2020-04-11
    相关资源
    最近更新 更多