сравнивать два часа в java [удвоенная]

У этого вопроса уже есть ответ здесь:

я стараюсь сравнивать два часа, чтобы мочь загружать цены в зависимости от часа (для парковки).

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){
    }

}

пример проблемы, с которой я сталкиваюсь, состоит в том, что автомобиль входит в 23:00:00 и выходит в 1:00:00, я выстрелил себе вечерние цены, потому что дневные цены даже они 7:00:00.

Но так будьте днем или ночью, он не делает сравнения и не загружает мне цены

1
задан 31.12.2016, 03:02
0 ответов

Если ты используешь версию java, ниже Java 8, ты можешь использовать joda.datetime

http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html

У этого api есть DateTimeComparator, чтобы сравнивать даты

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

http://joda-time.sourceforge.net/apidocs/

Если ты используешь java 8 уже, у этого есть api, и ты можешь сравнивать используя isAfter is equal или isBefore

http://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html#isAfter-java.time.chrono.ChronoLocalDate -

1
ответ дан 03.12.2019, 17:54

Теги

Похожие вопросы