Come impostare un anno aC utilizzando GregorianCalendar
-
25-09-2019 - |
Domanda
Ho un incarico che convertiti data da un sistema a un altro calendario.
La documentazione per GregorianCalendar sembra suggerire che si possono le date d'uso con anni aC, ma non ho idea di come fare. Se io semplicemente faccio il negativo dell'anno, vale a dire
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
esso stampa 'Sun 2 febbraio 03:00:00 GMT-05: 00 21', che evidentemente non è corretto
.Soluzione
È necessario impostare il SER a BC (BC è un campo statico su GregorianCalendar ).
Lo standard (gregoriano) del calendario ha 2 epoche, BC e AD.
http://java.sun.com /j2se/1.4.2/docs/api/java/util/GregorianCalendar.html
per es.
calendar.set(Calendar.ERA, GregorianCalendar.BC);
Altri suggerimenti
La documentazione di questo può essere trovato: http://java.sun.com/j2se/1.4.2/docs/api/java/util/Calendar.html#ERA
Si mostra Calendar.ERA
e come sia GregorianCalendar.AD
e GregorianCalendar.BC
possono essere utilizzati