【问题标题】:Get string timezone from numeric timezone value PHP从数字时区值 PHP 获取字符串时区
【发布时间】:2016-09-25 08:17:17
【问题描述】:

有没有办法从时间戳整数值中找到时区字符串?

My Integer value : +5.5

我想得到什么

Asia/Colombo

我正在开发 WordPress,有没有一种简单的方法可以在 WP 上获得它?

【问题讨论】:

  • 那么,+5.5 的意思是 +5:30 对吧?
  • 您可能无法使用偏移量 (+5.5) 获得准确的时区,因为该偏移量属于多个时区 Asia/ColomboAsia/Kolkata ,不过你可以查看following code
  • 是的,offset 属于很多时区。感谢您的示例代码。

标签: php wordpress timezone


【解决方案1】:

不,因为时区偏移和时区是两个非常不同的东西。

请参阅the timezone tag wiki 中的“时区!= 偏移量”。

【讨论】:

    【解决方案2】:

    我会使用DateTimeZone::listIdentifiers()

    $time_zones =  DateTimeZone::listIdentifiers();
    
    foreach ($time_zones as $time_zone) {
        $date = new DateTime('now', new DateTimeZone($time_zone));
        $offset_in_hours = $date->getOffset() / 60 / 60;
        echo "{$time_zone}: ($offset_in_hours)";
    }
    

    这将输出如下内容:

    Asia/Choibalsan: (9)
    Asia/Colombo: (5.5)
    Asia/Damascus: (3)
    Asia/Dhaka: (6)
    Asia/Dili: (9)
    Asia/Dubai: (4)
    

    然后您可以将此代码包装在插件/简码中,并使用输出来反向搜索您的时区。

    【讨论】:

    • 接受答案然后@Sahan :)
    猜你喜欢
    • 2021-07-14
    • 2015-03-11
    • 2013-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多