use*_*403 0 java algorithm time calendar date
在java.util.Date我看到下面的代码.
private static final BaseCalendar getCalendarSystem(int year) {
if (year >= 1582) {
return gcal;
}
return getJulianCalendar();
}
Run Code Online (Sandbox Code Playgroud)
这是什么意思?比较Dates时我有这个问题ClassCastException吗?
这意味着在1582年由教皇格雷戈里进行了日历改革.在此日期之前 - 朱利安日历,之后 - 格里高利.
在Julian日历中,我们有一个闰年,如果它的数字可以除以4.在公历中 - 如果它的数字可以除以4,减去这些年份可以除以100加上这些可以除以400.
更多在这里
如果这个有数百个规则的规则将重复数千个,则可以制作更精确的日历,但是没有完成,并且最终日历将收集针对实际年度周期的如此大的错误,需要进行新的改革.但这是几千年的问题 - 在一千年里,每天损失3/4.
显然,这就是他们开始新日历的原因,因为只有格里高利和朱利安日历之间的差异,所以他们应该少修正一天.在第二个千年期间,我们将失去更多的一天...现在,春分点在3月20-21更频繁地发生,而不是在400年前的21-22.