代码之家  ›  专栏  ›  技术社区  ›  hollaburoo

如何使用gregoriancalendar设置bce年

  •  2
  • hollaburoo  · 技术社区  · 15 年前

    我有一个任务,可以将日期从一个日历系统转换为另一个日历系统。

    Gregoriancalendar的文档似乎表明 可以 把日期用在前几年,但我不知道怎么用。如果我只是把这一年定为负数,也就是说。

     GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
     System.out.println(cal.getTime.toString());
    

    它打印出“2月2日星期日03:00:00 GMT-05:00 21”,这显然是不正确的。

    2 回复  |  直到 10 年前
        1
  •  4
  •   gontard    10 年前

    您需要将era设置为bc(bc是 GregorianCalendar )

    公历分为公元前和公元前两个时期。

    http://java.sun.com/j2se/1.4.2/docs/api/java/util/GregorianCalendar.html

    例如

    calendar.set(Calendar.ERA, GregorianCalendar.BC);
    
        2
  •  1
  •   Jason Aller    15 年前

    相关文档如下: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html#ERA

    它显示 Calendar.ERA 以及两者如何 GregorianCalendar.AD GregorianCalendar.BC 可以使用