He dado con la solución, lo que pasa que con el botón estoy teniendo un problema.
Aquí el código:
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
try {
DateFormat dateFormat = new SimpleDateFormat ("hh:mm:ss");
String hora1 = "13:00:00";
String hora2 = "16:00:00";
String hora3 = "20:00:00";
String hora4 = "23:59:00";
String horaNueva = sdf.format(cal.getTime());
Date date1, date2, date3, date4, dateNueva;
date1 = dateFormat.parse(hora1);
date2 = dateFormat.parse(hora2);
date3 = dateFormat.parse(hora3);
date4 = dateFormat.parse(hora4);
dateNueva = dateFormat.parse(horaNueva);
if ((date1.compareTo(dateNueva) <= 0) && (date2.compareTo(dateNueva) >= 0)){
tramitarPedido.setEnabled(true);
Log.d("debug","La hora " + horaNueva + " está entre " + hora1 + " y " + hora2);
} else {
tramitarPedido.setEnabled(false);
Log.d("debug","La hora " + horaNueva + " no está entre " + hora1 + " y " + hora2);
}
if ((date3.compareTo(dateNueva) <= 0) && (date4.compareTo(dateNueva) >= 0)){
tramitarPedido.setEnabled(true);
Log.d("debug","La hora " + horaNueva + " está entre " + hora3 + " y " + hora4);
}else{
tramitarPedido.setEnabled(false);
Log.d("debug","La hora " + horaNueva + " no está entre " + hora3 + " y " + hora4);
}
} catch (ParseException parseException){
parseException.printStackTrace();
}
El problema que estoy teniendo es que pasa por las dos sentencias if
y si la primera es correcta y la segunda no me pone el botón a falso.
Pero así es como se comparan dos horas.
Gracias por la ayuda Yuki.