Java - Problema con comparacion de fechas

   
Vista:

Problema con comparacion de fechas

Publicado por Jorge (16 intervenciones) el 14/03/2018 02:41:06
Buen día.

En el segmento de código que muestro a continuación nunca entro a la parte del else, alguien puede ver el error?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
String consulta = "Insert into calendario tarifas (fecha, id_tarifa, id_tipoCuarto) values ";
String fecha = new SimpleDateFormat("yyyy-MM-dd").format(dateInicio.getDate());
String idTarifa ="5";
Date fInicio = dateInicio.getDate();
Date fFinal = dateFinal.getDate();
Calendar cal= Calendar.getInstance();
 
while(fInicio.compareTo(fFinal)<= 0){
    if(fInicio.compareTo(fFinal)== -1){
        consulta = consulta + "\n('" + fecha + "', " + idTarifa + ", " + idTipo + "), ";
    }else {
        consulta = consulta + "\n('" + fecha + "', " + idTarifa + ", " + idTipo + ")";
    }
    cal.setTime(fInicio);
    cal.add(Calendar.DATE, 1);
    fInicio = cal.getTime();
    fecha = new SimpleDateFormat("yyyy-MM-dd").format(fInicio);
}
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

Problema con comparacion de fechas

Publicado por Tom (1144 intervenciones) el 14/03/2018 09:26:23
¿ Por qué no pones una traza con las fechas que comparas ?
Y ¿ te has leído el api ? compareTo() no tiene por qué devolver -1
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

Problema con comparacion de fechas

Publicado por Jorge (16 intervenciones) el 14/03/2018 17:30:09
Que tal Tom, muchas gracias por tu respuesta.

Hacía mucho que no programaba, tengo nivel más bien de principiante, por lo que agradecería mucho me pudieras explicar un poco lo de la Traza.

Con respecto al compareTo() lo que nunca me devuelve es el 0, que según entendí lo regresa cuando las fechas son iguales, que en mi lógica, va a ser la última vez que entra al ciclo, voy a volver a leerlo para ver que se me pasa.

Saludos.
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

Problema con comparacion de fechas

Publicado por Jorge (16 intervenciones) el 14/03/2018 18:48:23
Encontré mi error.
Al hacer el getDate al JDateChooser (en este caso dateInicio y dateFinal), el primero me trae la fecha elegida con hora 00:00:00, y el segundo con la fecha elegida y la hora del sistema, al comparar compara con todo y hora y por eso nunca es igual...
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