Нахождение затраченого времени по времени начала и конца, неправильные данные на выводе
Задача заключается в том, чтобы при известном дне, часе, минуте и секунде вычислить затраченое время и вывести ответ в формате (д ч м с). Я попытался вычислить время в миллисекундах и присвоить значение переменной типа лонг потом поставив это значение в качестве аргумента конструктора класса Date библиотеки java.util.Date вывести необходимое значение. Но, к сожалению, выходные данные очень далеки от ожидаемых.
import java.io.File;
import java.io.FileNotFoundException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class ModuloAndTimeDifference {
public static void main(String[] args) throws FileNotFoundException {
File text = new File("C:\\Users\\Andrew\\IdeaProjects\\ModuloAndTimeDifference\\src\\ModuloAndTimeDifference.txt");
Scanner scanner = new Scanner(text);
scanner.nextLine();
while (scanner.hasNextLine()){
long result = (((-1000) * ((scanner.nextLong() * 24 * 60 * 60) + (scanner.nextLong() * 60 * 60) + (scanner.nextLong() * 60) + (scanner.nextLong()))) + (1000 * ((scanner.nextLong() * 24 * 60 * 60) + (scanner.nextLong() * 60 * 60) + (scanner.nextLong() * 60) + scanner.nextLong())));
DateFormat Timestamp = new SimpleDateFormat("d h m s");
System.out.print("(" + Timestamp.format(new Date(result))+ ") ");
}
}
}
Скажите, что пошло не так. Конечно, можно было бы вручную задать подсчет и банальные инты на вывод кинуть, но для меня приоритетная цель научиться "кодить". Поэтому я стараюсь творчески подходить к выполнению заданий. ) Заранее спасибо.