Pergunta

Eu tenho uma tarefa que converte datas de um sistema de calendário para outro.

A documentação para Gregoriancalendar parece sugerir que você posso Use datas com anos de BCE, mas não tenho idéia de como. Se eu simplesmente tornar o ano negativo, ou seja,

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

Ele imprime 'Sun Fev 02 03:00:00 GMT-05: 00 21', o que claramente não está correto.

Foi útil?

Solução

Você precisa definir a época como BC (BC é um campo estático em Calendário gregoriano).

O calendário padrão (gregoriano) tem 2 épocas, BC e AD.

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

por exemplo

calendar.set(Calendar.ERA, GregorianCalendar.BC);

Outras dicas

A documentação para isso pode ser encontrada: http://java.sun.com/j2se/1.4.2/docs/api/java/util/calendar.html#era

Isto mostra Calendar.ERA e como os dois GregorianCalendar.AD e GregorianCalendar.BC pode ser usado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top