私はどこLOCALDATEするepochTimeを変換しようとしていたとき、私はこの例外を取得しています: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-
これは実際に何を意味しますか? ofEpochDay
の
例外メッセージに記載されているように、1493959132000日は、おおよそ1493959132000/365 = 4,093,000,000年です。あなたの前提は間違っています。 4,000,000,000 + epoch年> 2017年です。1970年の年であるため、(2017-1970)* 365は17500日とほぼ同じです... –
もう一度、呼び出すメソッドのjavadocを読むと、多くの助けになります。 https://docs / –