Date data1 = new Date();
Date data2 = new Date();
Date dataF = new Date();
DateFormat df = new SimpleDateFormat ("HH:mm");
data1.setHours(10);
data1.setMinutes(30);
data2.setHours(5);
data2.setMinutes(0);
long diferenca = data1.getTime() - data2.getTime();
dataF.setTime(diferenca);
System.out.println("data: " + df.format(dataF));
resultado tá dando 2:30
tentei com calendar
GregorianCalendar calendar = new GregorianCalendar();
GregorianCalendar calendar2 = new GregorianCalendar();
GregorianCalendar calendarAux2 = new GregorianCalendar();
calendar.set(GregorianCalendar.HOUR_OF_DAY, 10);
calendar.set(GregorianCalendar.MINUTE, 30);
calendar2.set(GregorianCalendar.HOUR_OF_DAY, 5);
calendar2.set(GregorianCalendar.MINUTE, 0);
long diferenca2 = calendar.getTimeInMillis() - calendar2.getTimeInMillis();
calendarAux2.setTimeInMillis(diferenca2);
System.out.println("Data: " + df.format(calendarAux2.getTime()));
Resultado também dá 2:30