Cómo establecer un año BCE usando Gregoriancalendar
-
25-09-2019 - |
Pregunta
Tengo una tarea que convierte las fechas de un sistema de calendario a otro.
La documentación para Gregoriancalendar parece sugerir que pueden Use fechas con años de BCE, pero no tengo idea de cómo. Si simplemente hago el año negativo, es decir
GregorianCalendar cal = new GregorianCalendar(-20, 1, 2, 3, 0, 0);
System.out.println(cal.getTime.toString());
Imprime 'Sol 02 de febrero 03:00:00 GMT-05: 00 21', que claramente no es correcto.
Solución
Debe establecer la era en BC (BC es un campo estático en Calendario Gregoriano).
El calendario estándar (gregoriano) tiene 2 épocas, BC y AD.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/gregoriancalendar.html
p.ej
calendar.set(Calendar.ERA, GregorianCalendar.BC);
Otros consejos
Se puede encontrar la documentación para esto: http://java.sun.com/j2se/1.4.2/docs/api/java/util/calendar.html#era
Muestra Calendar.ERA
y como ambos GregorianCalendar.AD
y GregorianCalendar.BC
puede ser usado