【问题标题】:How to fix PHP timezone issue with date function如何使用日期函数修复 PHP 时区问题
【发布时间】:2020-09-04 11:28:34
【问题描述】:
echo (date('d-m-Y',strtotime("1997-02-27T00:00:00+08:00"))); 

这是前一天的结果。 26-02-1997

我有一个 API 可以像上面的格式那样带来时间。如何实现时区到日期功能?

【问题讨论】:

标签: php timezone


【解决方案1】:

您可以使用date_default_timezone_set() 更改默认时区。时区列表是here

例如:

date_default_timezone_set('Australia/Sydney');
echo (date('d-m-Y',strtotime("1997-02-27T00:00:00+08:00")));

我当前的时区是 26-02-1997,这使它成为澳大利亚:27-02-1997。

【讨论】:

  • 谢谢马丁,这对我有用。有没有办法从客户端的位置或浏览器动态获取这个时区?
  • 我会看看this.. 你可以在 HTTP 标头的接受语言(en-US 等)中找到时区(嗯..语言)的粗略概念,所以就是这样如果我不想处理太多 JavaScript,我会去哪里看。
  • 您可以根据自己的喜好动态更改它(或者甚至使用DateTime 对象同时使用多个时区),但您需要注意 PHP 是一种服务器端语言。它不需要浏览器设置或与浏览器设置交互。
【解决方案2】:

打开php.ini文件,设置此代码date.timezone = "US/Central"为明确定义。

您可以使用以下命令检查节日期是否正常:

<?php phpinfo();

【讨论】:

    猜你喜欢
    • 2015-10-28
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2018-03-21
    • 2016-12-14
    相关资源
    最近更新 更多