Sprawdź ten pakiet:
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Jeśli chodzi o godziny to jest do tego klasa LocalTime, a do wyznaczania różnic w czasie jest przygotowana klasa Duration:
LocalTime time1 = LocalTime.parse("10:20:10");
LocalTime time2 = LocalTime.parse("11:20:10");
System.out.println("Time1: " + time1);
System.out.println("Time2: " + time2);
Duration between = Duration.between(time1, time2);
System.out.println("Roznica w godzinach: " + between.toHours());
System.out.println("Roznica w minutach: " + between.toMinutes());
Time1: 10:20:10
Time2: 11:20:10
Roznica w godzinach: 1
Roznica w minutach: 60