Oi,
 
    Nada de errado, observe que comecou o horário de verão. BRT != BRST.
 
 
.: marcelo alves :.
----- Original Message -----
Sent: Thursday, April 25, 2002 11:24 AM
Subject: [java-list] BUG Java (GregorianCalendar) ?

Olá,
 
Estive utilizando a classe GregorianCalendar e observei que ao criar uma instancia com a data de 13/10/2001 e adicionar 1 dia a data ficou errada. O mesmo cálculo com datas diferentes funciona. Abaixo está o programa e o resultado apresentado durante a execução.
Será que isso eh um bug do java? Alguém sabe o que está acontecendo?
 
Utilizo WIN98 com JDK 1.4.0.
 
Obrigado pela atenção.
 
 
=== Programa (tst.java) ===
 
import java.util.GregorianCalendar;
import java.util.Calendar;
 
public class tst {
   public static void main(String args[]) {
      GregorianCalendar cg;
 
      System.out.println("\n- Exemplo 1 (correto):");
      cg = new GregorianCalendar(2001,9,12);
      System.out.println("Hoje..: " + cg.getTime());
      cg.add(Calendar.DAY_OF_MONTH, 1);
      System.out.println("Amanha: " + cg.getTime());
 
      System.out.println("\n- Exemplo 2 (ERRO!):");
      cg = new GregorianCalendar(2001,9,13);
      System.out.println("Hoje..: " + cg.getTime());
      cg.add(Calendar.DAY_OF_MONTH, 1);
      System.out.println("Amanha: " + cg.getTime());
 
      System.out.println("\n- Exemplo 3 (correto):");
      cg = new GregorianCalendar(2001,9,14);
      System.out.println("Hoje..: " + cg.getTime());
      cg.add(Calendar.DAY_OF_MONTH, 1);
      System.out.println("Amanha: " + cg.getTime());
   }
}
 

=== Resultado ===
 
- Exemplo 1 (correto):
Hoje..: Fri Oct 12 00:00:00 BRT 2001
Amanha: Sat Oct 13 00:00:00 BRT 2001
 
- Exemplo 2 (ERRO!):
Hoje..: Sat Oct 13 00:00:00 BRT 2001
Amanha: Sat Oct 13 23:00:00 BRT 2001
 
- Exemplo 3 (correto):
Hoje..: Sun Oct 14 01:00:00 BRST 2001
Amanha: Mon Oct 15 01:00:00 BRST 2001
 
 

Responder a