Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2010, 05:45
LeGeNDuS
 
Fecha de Ingreso: mayo-2009
Mensajes: 9
Antigüedad: 15 años
Puntos: 1
Problemas usando Date.setTime

Hola, buenos días

He estado todo el día tratando de averiguar que ocurre cuando uso esta función del Date. Este es mi código:

Código:
package main;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class Main {

	static Date date = new Date();
	static int counter = 0;
	
	public static void main(String args[]) {
		DateFormat dateFormat = new SimpleDateFormat("dd/mm/yyyy hh:mm:ss");
		try {
			date = dateFormat.parse("01/01/2000 00:00:00");
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		for(;;)
			printDate();
	}

	private static void printDate() {
		long time = date.getTime();
		time += (counter * 1000);
		counter += 60;
		Date toPrint = new Date();
		toPrint.setTime(time);
		System.out.println("Time: " + toPrint.toString());
	}
}
Y todo va bien hasta que llega al día 25 de Enero, dónde empieza a generarme la siguiente salida (sin saber por qué, al menos yo no lo sé):

Time: Tue Jan 25 20:29:00 CET 2000
Time: Tue Jan 25 20:30:00 CET 2000
Time: Tue Jan 25 20:31:00 CET 2000
Time: Tue Dec 07 03:29:12 CET 1999
Time: Tue Dec 07 03:30:12 CET 1999

Salta del 25 de enero a las 20:31 al 7 de diciembre del año pasado...

¿Alguién sabe por qué?

Usando la clase Calendar pasa exactamente igual.

Muchas gracias, un saludo!