Как получить коды часовых поясов, такие как BST / GMT / CET и т. Д.? - PullRequest
0 голосов
/ 09 ноября 2009

Я хочу показать код часового пояса (например, BST или GMT) в зависимости от локали пользователя. Тем не менее, в каждом браузере он расположен в разных местах от нового Date (). ToLocaleString (), а в некоторых браузерах (например, Opera) он вообще недоступен.

Похоже, что решением было бы получить базу данных или структуру кодов часовых поясов по смещению часового пояса, но может быть несколько совпадений (например, BST == GMT), и я даже не могу найти такой список.

Означает ли это, что это не может быть сделано?

1 Ответ

1 голос
/ 09 ноября 2009

Вы должны вручную определить разницу часовых поясов в вашем коде. Это сложно, потому что время по Гринвичу отличается от времени UTC (зулу). GMT включает изменение для летнего времени, в то время как UTC не имеет летнего времени и в остальном является тем же представлением часового пояса.

Дополнительная путаница заключается в том, что не все политические зоны определяют свои часовые пояса, чтобы они варьировались, например, на количество часов. В Индии UTC + 5,5 часов, а в Афганистане UTC + 4,5 часа. Обратите внимание, что в качестве базы используется UTC, а не GMT, поскольку эти страны не отмечают переход на летнее время. Некоторые малые островные государства в юго-западной части Тихого океана могут варьироваться в течение четверти часа.

Тогда некоторые политические определения часовых поясов имеют внутреннюю дифференциацию. Обычно считается, что Аризона находится в часовом поясе США в Тихом океане, по Гринвичу - 8 часов, за исключением того, что она не наблюдает за переходом на летнее время, поэтому пол года она находится в часовом поясе США в горах, поскольку Аризона действительно является UTC - 8.

При всей этой путанице существуют сотни определений часовых поясов, и некоторые из них меняются по мере изменения политических границ. Я просто говорю, прикрутите его и используйте либо время пользователя, либо время UTC, динамически настраивая константу в вашем JavaScript с сервера, чтобы отразить известное значение, которое представляет время UTC, когда пользователь запросил страницу.

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