我收到的时候我试图epochTime转换为这个LOCALDATE例外其中:java.time.DateTimeException:对于年(有效值-999999999 - 999999999)值无效
1)日期:2017年5月5日10:08:52.0
2)对应的历元:1493959132000
LocalDate lastUpdatedDate = LocalDate.ofEpochDay(1493959132000);
例外:
java.time.DateTimeException: Invalid value for Year (valid values -999999999 - 999999999): 4090323145
at java.time.temporal.ValueRange.checkValidIntValue(ValueRange.java:330)
at java.time.temporal.ChronoField.checkValidIntValue(ChronoField.java:722)
at java.time.LocalDate.ofEpochDay(LocalDate.java:341)
我知道java.time.LocalDate的源代码在https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#ofEpochDay-long-
给出了此例外的事先警告,这实际上意味着什么?它是什么时候发生的?
的JavadocofEpochDay
那么,1493959132000天,大约是1493959132000/365 = 4093000000年,如异常消息中所述。你的假设是错误的。 4,000,000,000 + epochYear> 2017年。时代年是1970年,因此(2017-1970)* 365几乎等于17500天... –
再一次,阅读你所调用的方法的javadoc将会有很大的帮助。 https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#ofEpochDay-long- –