【问题标题】:convert to UTC without changing php timezone settings在不更改 php 时区设置的情况下转换为 UTC
【发布时间】:2012-05-29 12:12:33
【问题描述】:

如何在不更改默认时区的情况下在 php 中转换日期字符串的时区。我想将其在本地转换为仅显示。 php时区设置不要修改。

编辑: 我的源时间是 UTC 字符串,我想将其转换为不同的格式,将时区保留为 UTC,但 php 将其转换为本地时区。 我使用的代码是:

date('Y-m-d H:i::s',strtotime($time_str));

如何保留时区?

【问题讨论】:

    标签: php timezone utc


    【解决方案1】:
    $src_tz = new DateTimeZone('America/Chicago');
    $dest_tz = new DateTimeZone('America/New_York');
    
    $dt = new DateTime("2000-01-01 12:00:00", $src_tz);
    $dt->setTimeZone($dest_tz);
    
    echo $dt->format('Y-m-d H:i:s');
    

    注意,如果源时间是UTC,你可以把这一行改成这样:

    $dt = new DateTime("2000-01-01 12:00:00 UTC");
    

    编辑:看起来您想要 UTC。在这种情况下,只需使用"UTC" 作为$dest_tz 构造函数的参数,并使用原始代码块。 (当然,如果$src_tz参数与默认时区相同,则可以省略。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-02
      • 2021-01-31
      • 2019-11-01
      • 2019-11-17
      • 2023-03-09
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多