Отображение даты на мгновение добавляет неделю - PullRequest
0 голосов
/ 17 января 2019

У меня есть следующий объект типа java.util.Date (Java 8):

enter image description here

Итак, 1 января 1235 года в формате CET. Но в тот момент, когда я произнес это с Мгновенным заклинанием:

enter image description here

IntelliJ покажи мне, что добавлена ​​целая неделя! Instant использует формат UTC, который объясняет, почему вычитается один час (разница между CET и UTC составляет один час). Но откуда берется неделя?

1 Ответ

0 голосов
/ 17 января 2019

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

Даты Java в старом стиле делают все возможное, чтобы учесть это, когда он может определить для Локали, когда он переключился с Джулиана на Календарь.

Когда эти переключатели были сделаны, дата в этих странах сменилась на другое место в календаре, что выглядело так, как будто дата пропустила несколько дней.

Более новая система java.time. * Игнорирует историческое существование юлианских календарей и не подходит для представления временных промежутков в исторических датах.

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