Григорианский календарь - PullRequest
0 голосов
/ 01 ноября 2010

Я столкнулся со странной проблемой экономии дневного света. У меня есть Java-программа, которая должна запускаться каждый день в 00:05, но вчера она запускалась в 23:05 Я использую григорианский календарь, чтобы запланировать эту программу в Java. Он никогда не запускался 23:05 до этого, если кто-то не запускал его вручную. Кто-нибудь знает, если это проблема с календарем?

Ответы [ 5 ]

3 голосов
/ 01 ноября 2010

Эта проблема почти наверняка связана с переключателем перехода на летнее время, хотя странно, что это должно происходить около полуночи, поскольку переход на летнее время обычно происходит в 2 часа ночи.

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

2 голосов
/ 01 ноября 2010

Разве это не связано с проблемами перехода на летнее время?Прошлой ночью время в некоторых частях света было изменено с летнего на зимнее время.

1 голос
/ 01 ноября 2010

В лучшем случае, это работает на более старой версии Java, и он неуместно думал, что летнее время началось в воскресенье утром в США.

Внутренне Java хранит время как смещение по Гринвичу ... в частности, количество миллисекунд с 1 января 1970 года 00: 00: 00.000 по Гринвичу (задокументировано в описании класса Calendar).

Если вы не хотите обновлять саму Java, вы все равно можете использовать Средство обновления часовых поясов для обновления часовых поясов Java, установленных в системе.

Примечание. Предположительно, это было исправлено в Java 5u6, если только вы не находитесь в одном из других часовых поясов, упомянутых в этом списке .

1 голос
/ 01 ноября 2010

Мировое время летнего времени против североамериканского времени летнего времени иногда несовместимо.

В Европе летнее время меняется в последнее воскресенье октября. http://en.wikipedia.org/wiki/Daylight_saving_time_around_the_world#Europe

В Северной Америке летнее время меняется в первое воскресенье ноября. http://en.wikipedia.org/wiki/Daylight_saving_time_around_the_world#North_America

Изменить из-за комментариев, предоставляя более точную информацию.

0 голосов
/ 01 ноября 2010

Я думаю, он работал в 00:05, но в «новое» (зимнее) время было 23: 05.

...