Преобразование java.util.Date (01.01.0001) в java.time.LocalDate возвращает 29.12.0000.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Преобразование java.util.Date (01.01.0001) в java.time.LocalDate возвращает 29.12.0000.

Сообщение Anonymous »

Я хочу проанализировать java.util.Date на java.time.LocalDate
Я нашел этот код, когда искал проблему:

Код: Выделить всё

Date date = new SimpleDateFormat("dd.MM.yyyy").parse("01.01.0001");
date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
если у меня в качестве даты начала указано 01.01.0001, у меня проблемы:

Код: Выделить всё

date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
==> (java.time.LocalDate) 0000-12-29

Код: Выделить всё

29.12.0000
и 01.01.0001 не совпадают.
  • Почему фактический результат отличается от ожидаемого?
  • Что мне делать, если я также хочу получить LocalDate со значением 01.01.0001?
Информация о часовом поясе:

Код: Выделить всё

ZoneId.systemDefault()
==> (java.time.ZoneRegion) Европа/Берлин
  • Думаю, проблема в этом шаге : date.toInstant()
  • Я не думаю, что это (только) проблема с часовым поясом. Если я протестирую его с другим годом. Например 1901, тогда он заканчивается 31.12.1900.

Код: Выделить всё

        Date date0001 = new SimpleDateFormat("dd.MM.yyyy").parse("01.01.0001");
System.out.println(date0001.toInstant());
==> 0000-12-29T23:00:00Z

Код: Выделить всё

        Date date1901 = new SimpleDateFormat("dd.MM.yyyy").parse("01.01.1901");
System.out.println(date1901.toInstant());
==> 1900-12-31T23:00:00Z

Подробнее здесь: https://stackoverflow.com/questions/774 ... 29-12-0000
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»