如何使用GregorianCalendar设置BCE年份

时间:2010-02-02 21:47:53

标签: java date gregorian-calendar

我有一项将日期从一个日历系统转换为另一个日历系统的作业。

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',这显然不正确。

2 个答案:

答案 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.ADGregorianCalendar.BC