Java OffsetDateTime显示奇怪的年份值

时间:2020-02-18 18:44:32

标签: java datetime datetimeoffset

根据IntelliJ调试器,OffsetDateTime值显示如下:

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

任何想法如何解析年份部分或使其有意义?当我在数据库上查看原始日期时,它实际上以毫秒为单位。我无权访问保存这些日期的团队。另外,通过测试访问数据时,执行log.debug时也显示相同的结果。

1 个答案:

答案 0 :(得分:3)

看到时间戳记,我想我知道为什么会这样。代码的某些部分错误地解释了时间戳1559909381182。此时间戳表示自纪元以来的毫秒数,但您的代码已将其解释为 seconds 的数目。比较这两行:

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

第一行将打印出未来几千年的日期,而第二行将打印出更合理的日期。

您应该尝试查找您将其解释为第二秒的地方。