Часовой пояс Java для Оттавы? - PullRequest
1 голос
/ 02 апреля 2011

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

TimeZone.getTimeZone("America/Ottawa")

Это показывало 22:26 сейчас [Время Атланты сейчас 6:26, Оттава также должно быть 18:26].

Я думал, что он состоит из двух частей: континент / город, и он должен возвращать правильное время, я ошибаюсь?

Ответы [ 2 ]

3 голосов
/ 02 апреля 2011

Правильный часовой пояс America/Toronto.Это самый большой город в провинции Онтарио.

Названия часовых поясов обычно имеют вид Континент / Город.Для Канады и Соединенных Штатов часовые пояса используют самый большой город в штате или провинции.Несколько штатов имеют несколько часовых поясов в форме Континент / Штат / Город.Для большинства других стран существует как минимум один часовой пояс, в котором используется самый большой город.Страны с несколькими часовыми поясами обычно используют самый большой город в каждом часовом поясе.

РЕДАКТИРОВАТЬ. Вероятная причина разницы во времени заключается в том, что для кода по умолчанию используется значение зулу, если часовой пояс не найден.

0 голосов
/ 02 апреля 2011

Откуда вы взяли America/Ottawa? Вы не можете просто выбрать города наугад. America/Toronto должно работать, если Java использует такую ​​же базу данных часовых поясов , как и все остальные.

Обновление : переключено America/New_York для более подходящего America/Toronto.

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