Как установить год BCE с использованием Gregoriancalendar
-
25-09-2019 - |
Вопрос
У меня есть задание, которое преобразует даты одной календарной системы в другую.
Документация для Gregoriancalendar, кажется, предполагает, что вы могу Используйте даты с долю доступа, но я понятия не имею, как. Если я просто сделаю год отрицательным, то есть
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
Это отпечатывает «Солнце» 2 февраля 02 03:00:00 GMT-05: 00 21 ', что явно не правильно.
Решение
Вам нужно установить эпоху до BC (BC - это статическое поле на Григорианский календарь).
Стандартный (Gregorian) календарь имеет 2 эра, до н.э. и объявления.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/gregoriancalendar.html.
например
calendar.set(Calendar.ERA, GregorianCalendar.BC);
Другие советы
Документация для этого можно найти: http://java.sun.com/j2se/1.4.2/docs/api/java/util/calendar.html#era.
Это показывает Calendar.ERA
и как оба GregorianCalendar.AD
а также GregorianCalendar.BC
может быть использован