Direi che puoi facilitarti molto la vita delegando il lavoro a GregorianCalendar:
Codice PHP:
package test;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class Main
{
private static String format(GregorianCalendar time)
{
return time.get(Calendar.HOUR_OF_DAY) + ":" + time.get(Calendar.MINUTE);
}
public static void main(String[] args)
{
int hh1 = 20; //
int mm1 = 30; // 20:30
int hh2 = hh1 > 5 ? 5+24 : 5; //
int mm2 = 0; // 05:00
int hh3 = 23; //
int mm3 = 10; // 23:10
GregorianCalendar inizio = new GregorianCalendar(0,0,0, hh1, mm1);
GregorianCalendar fine = new GregorianCalendar(0,0,0, hh2, mm2);
GregorianCalendar ora = new GregorianCalendar(0,0,0, hh3, mm3);
boolean result = ora.after(inizio) && ora.before(fine);
System.out.println(format(inizio) + " <= " + format(ora) + " <= " + format(fine) + " => " + result);
}
}
Ti rimane solo da controllare se controlla le varie casistiche