Я пытаюсь написать программу, в которой консоль сообщает человеку разницу между двумя моментами без каких-либо сообщений, в «военное время» или 24 часа. До сих пор у меня есть:Как я могу получить временную разницу во времени для чтения?
import java.util.Scanner;
public class MilTimeDiff {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("Enter the first time: ");
String time1 = s.next();
System.out.print("Enter the second time: ");
String time2 = s.next();
String tm1 = String.format("%02d", Integer.parseInt(time1));
String tm2 = String.format("%02d", Integer.parseInt(time2));
int t1 = Integer.parseInt(tm1);
int t2 = Integer.parseInt(tm2);
int difference = t2 - t1;
while (t1 < t2) {
String tmDif = Integer.toString(difference);
System.out.println("The difference between times is " + tmDif.substring(0, 1) + " hours " +
tmDif.substring(1) + " minutes.");
break;
}
}
}
Но у меня есть два вопроса: один: если я время один 0800, а время два 1700, это дает мне правильные 9 часов. Но если разница составляет 10 часов и более, она дает 1 час и много минут. Я думал, что использование метода String.format поможет, но ничего не делает.
два: я не знаю, как подойти к ситуации, когда время 1 является поздним временем 2.
Спасибо!
Вы допустили ошибку, неправильно логика? 'Войдите в первый раз: 13 Введите второй раз: 343 Разница между временем составляет 3 часа 30 минут.' –