Получить официальный часовой пояс в PHP?

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

поэтому, если состояние учетной записи в Калифорнии, тогда часовой пояс будет «America / Los_Angeles»,

Более того, я хочу разбить часовой пояс, который представлен на этой странице http://php.net/manual/en/timezones.america.php от Atlantic Eastern Central Mountain Pacific Pacific Alaska Hawaii – Aleutian

Теперь я смогу сортировать свои данные на основе 7 часовых поясов, а также я могу привязать всю свою учетную запись к часовому поясу, чтобы я мог определить их часовой пояс.

Итак, мой вопрос 1) Как я могу выяснить, какое состояние связано с какой часовой зоной. (пример: California = "America / Los_Angeles")

2) Какой часовой пояс связан с какой временной зоной. (пример: Калифорния = Тихоокеанский регион)

Вы этого не продумали.

Многие штаты США имеют несколько часовых поясов. Например, Южная Дакота имеет как горные, так и центральные часовые пояса.

Карта часовой пояс Южной Дакоты

Если вы хотите разрешить местоположение в часовом поясе, вам понадобится гораздо более подробное местоположение. В идеале, широта и долгота. Если у вас его нет, вы можете аппроксимировать centroid lat / lon почтового индекса, а затем использовать его против любого из множества различных сервисов или баз данных, которые разрешат это в часовом поясе. Но будьте очень осторожны, не все почтовые индексы представляют собой физические местоположения, а почтовые индексы часто меняются.

Всегда лучше перейти к источнику: http://www.php.net/manual/en/timezones.america.php

Для всех часовых поясов: http://www.php.net/manual/en/timezones.php

Если вы прочитали страницу по первой ссылке, кто-то был достаточно хорош, чтобы создать массив, если вам нужны сокращения:

 $aTimeZones = array( 'America/Puerto_Rico'=>'AST', 'America/New_York'=>'EDT', 'America/Chicago'=>'CDT', 'America/Boise'=>'MDT', 'America/Phoenix'=>'MST', 'America/Los_Angeles'=>'PDT', 'America/Juneau'=>'AKDT', 'Pacific/Honolulu'=>'HST', 'Pacific/Guam'=>'ChST', 'Pacific/Samoa'=>'SST', 'Pacific/Wake'=>'WAKT', );