Данные PHP ("I") показывают 0 для часового пояса "Америка / Феникс" - PullRequest
0 голосов
/ 22 октября 2019

Я хочу знать, включен ли данный часовой пояс для перехода на летнее время. Я использовал следующий код

 $userTimezone = new DateTimeZone("America/Phoenix");

 $datObj = new DateTime(date('Y-M-d H:i:s'),$userTimezone);

 $dls = $datObj->format('I');

Значение $dls равно 0, но этот часовой пояс фактически используется для перехода на летнее время. следующие часовые пояса работают нормально для меня

America/Chicago
America/New_York
America/Los_Angeles

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

2 голосов
/ 22 октября 2019

В часовом поясе Америки / Феникса летнее время не наблюдается с 1967 года. Вот правила из IANA 2019c :

# Zone  NAME        STDOFF  RULES   FORMAT  [UNTIL]
Zone America/Phoenix    -7:28:18 -  LMT 1883 Nov 18 11:31:42
            -7:00   US  M%sT    1944 Jan  1  0:01
            -7:00   -   MST 1944 Apr  1  0:01
            -7:00   US  M%sT    1944 Oct  1  0:01
            -7:00   -   MST 1967
            -7:00   US  M%sT    1968 Mar 21
            -7:00   -   MST

Таким образом, единственное действующее правило по-прежнему в силе:последний, ставящий часовой пояс в MST.

...