Java - problemas con fechas

 
Vista:

problemas con fechas

Publicado por kamaleon (1 intervención) el 21/07/2014 02:04:25
Hola tengo un problema que no le encuentro explicación haber si a ustedes les ha pasado:

// Crear 2 instancias de Calendar
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();

// Establecer las fechas
cal1.set(2014, 05, 31);
cal1.set(Calendar.HOUR,0);
cal1.set(Calendar.MINUTE,0);
cal1.set(Calendar.SECOND,0);
cal1.set(Calendar.MILLISECOND,0);
cal2.set(2014, 06, 01);
cal2.set(Calendar.HOUR,0);
cal2.set(Calendar.MINUTE,0);
cal2.set(Calendar.SECOND,0);
cal2.set(Calendar.MILLISECOND,0);

// conseguir la representacion de la fecha en milisegundos
long milis1 = cal1.getTimeInMillis();
long milis2 = cal2.getTimeInMillis();

System.out.println(milis1);
System.out.println(milis2);

me retorna el mismo valor en milisegundos para las 2 fechas

1404234000000
1404234000000
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

problemas con fechas

Publicado por UnoPorAhi (128 intervenciones) el 21/07/2014 13:55:23
cal1.set(2014, 05, 31);

Le estas poniendo 31 de junio, que es una fecha que no existe (los meses empiezan a contar en 0 como puedes ver si lees la doc de Calendar)

void java.util.Calendar.set(int year, int month, int date)

Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH. Previous values of other calendar fields are retained. If this is not desired, call clear() first.

Parameters:
year the value used to set the YEAR calendar field.
month the value used to set the MONTH calendar field. Month value is 0-based. e.g., 0 for January.
date the value used to set the DAY_OF_MONTH calendar field.


Si cambias eso, te deberia funcionar bien.



Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar