Страновые часовые пояса в PHP/Zend Framework

Есть ли в Zend Framework или PHP по умолчанию способ сопоставить страну (используя код страны) со списком часовых поясов? В качестве примера я пытаюсь повторить функциональность Google при поиске "времени в Австралии прямо сейчас", которое отображает все часовые пояса и города для этой страны.

1 ответ

Не уверен насчет Zend_Date, но нативный PHP может сделать это с PHP5.3 с

  • DateTimeZone::listIdentifiers - Возвращает числовой индексный массив со всеми идентификаторами часовых поясов.

Пример:

print_r( DateTimeZone::listIdentifiers(DateTimeZone::PER_COUNTRY, 'US') );

выходы:

Array
(
    [0] => America/Adak
    [1] => America/Anchorage
    [2] => America/Boise
    [3] => America/Chicago
    [4] => America/Denver
    [5] => America/Detroit
    [6] => America/Indiana/Indianapolis
    [7] => America/Indiana/Knox
    [8] => America/Indiana/Marengo
    [9] => America/Indiana/Petersburg
    [10] => America/Indiana/Tell_City
    [11] => America/Indiana/Vevay
    [12] => America/Indiana/Vincennes
    [13] => America/Indiana/Winamac
    [14] => America/Juneau
    [15] => America/Kentucky/Louisville
    [16] => America/Kentucky/Monticello
    [17] => America/Los_Angeles
    [18] => America/Menominee
    [19] => America/New_York
    [20] => America/Nome
    [21] => America/North_Dakota/Center
    [22] => America/North_Dakota/New_Salem
    [23] => America/Phoenix
    [24] => America/Shiprock
    [25] => America/Yakutat
    [26] => Pacific/Honolulu
)

Обратите внимание, что страна должна быть указана в виде двухбуквенного кода страны, совместимого с ISO 3166-1. Очевидно, это означает, что "мы" - это не то же самое, что "США" (по крайней мере, я не получаю результат).

Другие вопросы по тегам