Java是否支持Julian日历?

Oracle docs http://docs.oracle.com/javase/6/docs/technotes/guides/intl/calendar.doc.html声明Java支持3个日历系统:Gregorian,Japanese Imperial和Thai Buddhist。 Java是否支持Julian日历?

是的,它确实。

来自GregorianCalendar的文档:

GregorianCalendar是一个混合日历,支持Julian和Gregorian日历系统,并支持单个不连续性,默认情况下对应公历日历时的格里高利日期(1582年10月15日在某些国家,后来在其他国家)。 调用者可以通过调用setGregorianChange()来更改切换日期。

使用setGregorianChange更改它。

public void setGregorianChange(Date date)设置GregorianCalendar的更改日期。 这是从朱利安日期到格里高利日期的转换发生的时间点。 默认值是1582年10月15日(格里高利)。 在此之前,日期将在儒略历中。 要获取纯Julian日历,请将更改日期设置为Date(Long.MAX_VALUE)。 要获得纯公历,请将更改日期设置为日期(Long.MIN_VALUE)。

标准的Calendar类可能没有,但是Joda Time库可以。

是的,但它不是在java。*:

JulianCalendar javadoc

人们不会经常使用java.util.Calendar。 事实上,当JSR-310完成时,它现在已经在一个名为’joda time’的库中很快就会成功。 Joda Time也有Julian日历 。

只需将joda-time作为依赖项添加到项目中,然后就可以了。