PHP: нужен противоположный метод timezone_name_from_abbr? - PullRequest
2 голосов
/ 20 июля 2010

Мне нужен совершенно противоположный метод 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
......

Мне нужен метод, который возьмет часовой пояс в качестве параметра и вернет мне его сокращение. Например:

Если я использую такой метод, как:

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

Результат должен быть:

PST

Ответы [ 2 ]

6 голосов
/ 20 июля 2010

Это должно работать.

function timezone_abbr_from_name($timezone_name){
    $dateTime = new DateTime(); 
    $dateTime->setTimeZone(new DateTimeZone($timezone_name)); 
    return $dateTime->format('T'); 
}
0 голосов
/ 20 июля 2010

DateTimeZone :: ListAbbreviations даст вам ассоциативный массив со всеми длинными именами, связанными с определенной аббревиатурой. Должно быть довольно просто создать функцию, которая возвращает правильную аббревиатуру. Насколько я вижу, в примечаниях пользователя нет ничего готового.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...