В лучшем случае, это работает на более старой версии Java, и он неуместно думал, что летнее время началось в воскресенье утром в США.
Внутренне Java хранит время как смещение по Гринвичу ... в частности, количество миллисекунд с 1 января 1970 года 00: 00: 00.000 по Гринвичу (задокументировано в описании класса Calendar
).
Если вы не хотите обновлять саму Java, вы все равно можете использовать Средство обновления часовых поясов для обновления часовых поясов Java, установленных в системе.
Примечание. Предположительно, это было исправлено в Java 5u6, если только вы не находитесь в одном из других часовых поясов, упомянутых в этом списке .