Java OffsetDateTime показывает странное значение года - PullRequest
0 голосов
/ 18 февраля 2020

Для отладчика IntelliJ значение OffsetDateTime выглядит следующим образом:

+ 51434-04-02T15: 28: 41Z

Любая идея, как разобрать часть года или понять ее смысл ? Необработанная дата на самом деле в миллисекундах, когда я смотрю ее на БД. У меня нет доступа к команде, которая сохраняет эти даты. Также, когда я получаю доступ к данным через мои тесты, они показывают то же самое, когда я делаю log.debug.

1 Ответ

3 голосов
/ 18 февраля 2020

Видя отметку времени, я думаю, я знаю, почему это происходит. Некоторая часть кода неправильно интерпретировала метку времени 1559909381182. Эта метка времени представляет собой количество миллисекунд с начала эпохи, но ваш код интерпретировал ее как число секунд . Сравните эти две строки:

System.out.println(Instant.ofEpochSecond(1559909381182L));
System.out.println(Instant.ofEpochMilli(1559909381182L));

Первая напечатает дату в будущем через тысячи лет, а вторая строка напечатает более разумную дату.

Вы должны попытаться найти где вы интерпретировали это как секунду.

...