So setzen Sie ein BCE -Jahr mit Gregoriancalendar
-
25-09-2019 - |
Frage
Ich habe eine Aufgabe, die Daten von einem Kalendersystem in ein anderes umwandelt.
Die Dokumentation für Gregoriancalendar scheint darauf hinzudeuten, dass Sie kann Verwenden Sie Daten mit BCE -Jahren, aber ich habe keine Ahnung wie. Wenn ich das Jahr einfach negativ mache, dh dh
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
Es druckt 'Sonne Feb 02 03:00:00 GMT-05: 00 21' heraus, was eindeutig nicht korrekt ist.
Lösung
Sie müssen die ERA auf BC einstellen (BC ist ein statisches Feld an Gregorianischer Kalender).
Der Standardkalender (Gregorianer) hat 2 Epochen, BC und AD.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/gregoriancalendar.html
z.B
calendar.set(Calendar.ERA, GregorianCalendar.BC);
Andere Tipps
Die Dokumentation hierfür findet sich: http://java.sun.com/j2se/1.4.2/docs/api/java/util/calendar.html#era
Es zeigt Calendar.ERA
und wie beides GregorianCalendar.AD
und GregorianCalendar.BC
kann verwendet werden