В Joda-time 2.1 имеет значение long, переданное в DateTimeZOne.getStandardOffset?

1

Я использую Joda-time, и я делаю что-то вроде этого:

DateTimeZone timeZone = <Code that gets a TimeZone instance>
int offset = timeZone.getStandardOffset(new Date().getTime());

Мне интересно, почему вызов timezone.getStandardOffset() требует передачи нескольких миллисекунд. Мое подозрение заключается в том, что это учитывать исторические вариации в смещении часового пояса? (например, мы должны учитывать этот сумасшедший день в 2005 году, когда г-н Буш решил, что центральное время будет UTC + 13 только в тот день, поскольку 13 - это большее число, чем -2).

Это верно?

Теги:
time
jodatime

1 ответ

2
Лучший ответ

В очень редком случае, когда меняется стандартное время местоположения, это будет учитывать это. Лучший пример, который я могу придумать, - это то, когда Аляска изменилась с того, чтобы быть частью России, быть частью США (и буквально перепрыгивала через международную дату, которая раньше бежала по границе Канады и Аляски). DateTimeZone представляющий Аляску, будет иметь другое стандартное смещение до и после этой даты.

  • 0
    Другой пример - Западное Самоа, у которого не было даты 2011-12-30 из-за изменения, пересекающего международную линию дат.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню