将日期映射到Instant增加一周

时间:2019-01-17 13:58:16

标签: java date java-8

我具有java.util.Date类型的以下对象(Java 8):

enter image description here

基本上是1235年1月1日采用CET格式。但是当我使用Instant进行投射的那一刻:

enter image description here

IntelliJ告诉我已经增加了整整一个星期! Instant使用UTC格式,这解释了为什么要减去一小时(CET和UTC之间相差一小时)。但是一周从哪里来?

1 个答案:

答案 0 :(得分:4)

那是因为大多数人在1235年都使用儒略历,并且从那以后改用公历。

当Java类型的日期从Julian切换到Calendar时,它可以推断出语言环境时,尽力解决这个问题。

进行这些切换后,这些国家/地区中的日期切换到了日历上的其他位置,看起来好像日期只是跳过了几天。

更新的java.time。*系统忽略了朱利安历法的历史性存在,并不适合表示历史性日期中的时间间隔。