Java的标识日期hanlding

KIC*_*KIC 3 java date

我的问题是,当我们想要存储从地球诞生到地球结束(预期为100000000000000000000-12-31 23:59:00.0000 +1)的日期时,应如何处理日期.

我相信一些科学家有像这样的日期库.由于Joda-Time也使用了很长时间的内部存储,因此它超出了范围.从头开始制作压光机可能很困难,因为我们必须处理所有特殊情况,例如从朱利安换到格里高利历和闰年/秒......

Jon*_*eet 6

JSR-310-- Java 8中的新日期/时间API - 已经处理过了.来自Instant文档:

为了实用,瞬间存储有一些约束.可测量的时间线限制为可以长时间保持的秒数.这大于当前估计的宇宙年龄.瞬间存储为纳秒分辨率.

如果你不能等待Java 8出来的话,有一个Java 7后端 :)

但是,JSR-310 可能无法以您希望的方式处理闰秒.基本上它通过坚持任何提供的时钟执行拖尾来尝试(完全合理地)从系统中移除闰秒.(所以闰秒没有在数据模型中表示.)你需要小心这一点.当然,在遥远的未来的日期使得闰秒计算成为不可能,并且几乎肯定无关紧要:)

编辑:如下面的答案中所述,上面的引用实际上是一个规范错误,并且Instant"仅"支持高达十亿的年份值.