compare two hours in java [duplicate]

1

I'm trying to compare two hours to charge prices depending on the time (for a parking lot).

public static String horaNoche = "19:00:00";  
public static String horaDia = "07:00:00";  //Estos dos strings los obtengo
                                            //de una clase Hora
                                      //y la llamo en Hora h=new Hora();


public void cargarprecios(){
    String hora=h.obtenerHora();
    try{
Date date1 = dateFormat.parse(hora);
    Date cambioHora=dateFormat.parse(h.horaNoche);
    Date cambioHora2=dateFormat.parse(h.horaDia);
    if(date1.compareTo(cambioHora) < 0 && date1.compareTo(cambioHora2)>0){
        int i=date1.compareTo(cambioHora);
        System.out.println(i);
        m.cargarpreciosDIA();
    }
    else 
        if(date1.compareTo(cambioHora) >= 0 && date1.compareTo(cambioHora2)<0){
            int j=date1.compareTo(cambioHora);
            System.out.println(j);
            m.cargarpreciosNOCHE();
        }
    }
    catch(Exception e){
    }

}

An example of the problem that I face, is that a car comes in at 11:00 p.m. and leaves at 01:00 p.m., I throw away the prices at night, because the day prices are up to 07:00:00

But either day or night, it does not make the comparisons and does not charge me the prices

    
asked by Daylight Ark 30.12.2016 в 20:55
source

1 answer

1

If you use a java version lower than Java 8 you can use joda.datetime

link

This api has a DateTimeComparator to compare dates

DateTimeComparator.getInstance().compare(date1, date2);

link

If you use java 8 it already has an api, and you can compare using isAfter is equal or isBefore

link

    
answered by 30.12.2016 в 21:03