Вам не нужны библиотеки для этого.Просто решите это так, как на бумаге
HH MM
06 34
- 19 45
--------
10 49
Вы не можете вычесть 34 из 45, потому что 34 меньше 45, поэтому вы «одолжите» 60 минут из часов.В итоге вы получите (60 + 34) -45 = 49, а количество часов уменьшится с 6 до 5. Поскольку 5 меньше 19, мы предполагаем, что мы перешли на следующий день, и поэтому разница в часах составляет 5+(24-19) = 10.
Вот как будет выглядеть код:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
final String filename = "myfile.txt";
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(filename));
String line;
//read the file, line-by-line
while ((line = in.readLine()) != null) {
//break the line into various pieces
Scanner scanner = new Scanner(line);
scanner.next(); //skip the first bit
int hour1 = scanner.nextInt();
int min1 = scanner.nextInt();
int hour2 = scanner.nextInt();
int min2 = scanner.nextInt();
int diffMin;
if (min2 < min1) {
// borrow 60mins from the hours
diffMin = 60 + min2 - min1;
if (hour2 == 0) {
hour2 = 23;
} else {
hour2--;
}
} else {
diffMin = min2 - min1;
}
int diffHour;
if (hour2 < hour1) {
diffHour = hour2 + 24 - hour1;
} else {
diffHour = hour2 - hour1;
}
System.out.printf("%sh %sm\n", diffHour, diffMin);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
}
}
}
}
}
Этот код можно сжать, но я сделал его подробным, чтобы вы понимали, что такоеслучается.