我有一项将日期从一个日历系统转换为另一个日历系统的作业。
GregorianCalendar的文档似乎暗示你可以使用BCE年份的日期,但我不知道如何。如果我只是让年份为负,即
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
打印出'Sun Feb 02 03:00:00 GMT-05:00 21',这显然不正确。
答案 0 :(得分:4)
您需要将ERA设置为BC(BC是GregorianCalendar上的静态字段)。
标准(格里高利历)日历有2个时代,BC和AD。
http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
e.g。
calendar.set(Calendar.ERA, GregorianCalendar.BC);
答案 1 :(得分:1)
可以找到相关文档:http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html#ERA
它显示Calendar.ERA
以及如何使用GregorianCalendar.AD
和GregorianCalendar.BC