PHP:需要一个相反的timezone_name_from_abbr方法吗?

时间:2010-07-20 09:18:30

标签: php timezone

我需要一个完全相反的timezone_name_from_abbr()方法:http://php.net/manual/en/function.timezone-name-from-abbr.php

我有一个时区名称列表如:

Australia/Brisbane
Australia/Hobart
Asia/Vladivostok
Australia/Lord_Howe
Asia/Magadan
Asia/Kolkata
America/Los_Angeles
......

我需要将timezone作为参数的方法,并返回它的缩写。例如:

如果我使用的方法如下:

   $timeAbbr = timezone_abbr_from_name('America/Los_Angeles');
   echo $timeAbbr;

结果应该是:

PST

2 个答案:

答案 0 :(得分:6)

这应该有用。

function timezone_abbr_from_name($timezone_name){
    $dateTime = new DateTime(); 
    $dateTime->setTimeZone(new DateTimeZone($timezone_name)); 
    return $dateTime->format('T'); 
}

答案 1 :(得分:0)

DateTimeZone::ListAbbreviations将为您提供一个关联数组,其中包含与特定缩写相关的所有长名称。构建一个返回正确缩写的函数应该是相当简单的。就我所见,用户贡献的笔记中没有任何现成的内容。