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:
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é):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()); } }
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!