【问题标题】:Convert timezone using php?使用php转换时区?
【发布时间】:2015-06-05 18:31:23
【问题描述】:

如何使用 php 将时间戳 2015-06-05 14:05:01 转换为另一个时区?

我已阅读并尝试了此处列出的多种方法,但无法获得所需的结果。使用date_format($date,"M d h:i A")date_default_timezone_set('America/New_York') 我得到June 05 2:05 PM 这是服务器时区的原始来源并且正确。

我需要转换2015-06-05 14:05:01,例如使用date_default_timezone_set('America/Los_Angeles')date_format($date,"M d h:i A") 以获得结果June 05 11:05 AM

【问题讨论】:

    标签: php date timezone


    【解决方案1】:

    DateTime()DateTimeZone() 一起使用:

    // Create the DateTime() object and set the timezone to 'America/New_York'
    $date = new DateTime('2015-06-05 14:05:01', new DateTimeZone('America/New_York'));
    
    // Change the timezone to 'America/Los_Angeles'
    $date->setTimezone(new DateTimeZone('America/Los_Angeles'));
    
    // Print out the date and time in the new timezone
    echo $date->format('M d h:i A');
    

    Demo

    易于阅读,易于维护。

    【讨论】:

    • 再次感谢,我知道我已经尝试过很多次类似的事情,但我没有完全正确。
    • 当我无法快速找到一个骗子时,我认为值得写一个答案,所以我们有一个未来的答案。
    • 我知道有人会告诉我这是一个骗局,我已经阅读了所有内容,我认为值得再次发布,因为我认为我的时间戳格式可能不正确。
    • 有没有办法将 ('America/New_York') 替换为 ('-05:00')?
    • This 可能就是您要找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2021-02-06
    • 2020-03-05
    • 2011-01-31
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多