【问题标题】:PHP: Changing UTC time to Pacific (PST/PDT) [duplicate]PHP:将UTC时间更改为太平洋(PST / PDT)[重复]
【发布时间】:2013-03-12 17:58:16
【问题描述】:

我有一个 Datetime 对象并通过以下方式获取时间:

$today = date('Y-m-d H:i:s', $temp['date']->getTimeStamp());

我希望能够将其转换为加利福尼亚的当前时间,但我需要考虑 PST 和 PDT 的时间偏移量。它可能是 -7 或 -8 小时,具体取决于一年中的时间。如何动态获取正确太平洋时间的$today

【问题讨论】:

  • 我来到这里希望知道 php 中 PST/PDT 的正确时区名称,但我没有我的答案,并且副本没有给出它,因为它是针对 CENTRAL TIME ZONE 的。所以我不同意这个重复
  • 我同意巴蒂斯特的观点。我来寻找同样的东西,那个重复不是正确的答案。我厌倦了所有这些比你在这个板上发表帖子更神圣的版主。

标签: php


【解决方案1】:

您可以简单地使用 strtotime 更改时区,如下所示:

date_default_timezone_set('Etc/GMT'); //Make sure the time is GMT
$today = date('Y-m-d H:i:s');

echo $today."\n";

$today_utc = date('Y-m-d H:i:s', strtotime( $today." GMT+3"));

echo $today_utc."\n";

$today_9 = date('Y-m-d H:i:s', strtotime( $today." GMT-9"));

echo $today_9;

演示:http://sandbox.onlinephpfunctions.com/code/f08c0c69b415464bbee68fd1cdaaf1e7f4f1872b

所以在您的情况下,您的代码可能是:

$today = date('Y-m-d H:i:s', $temp['date']->getTimeStamp());
$today = date('Y-m-d H:i:s', strtotime( $today." GMT-9"));

【讨论】:

  • 这算不算夏令时?
猜你喜欢
  • 2015-01-22
  • 2011-03-13
  • 2021-03-02
  • 1970-01-01
  • 2022-01-09
  • 2014-11-25
  • 2016-11-21
  • 1970-01-01
  • 2010-10-13
相关资源
最近更新 更多