Java: Zeitdifferenz bestimmen (fortgeschritten)?
Hallo Leute, hier ist die folgende Aufgabenstellung
Aufgabe 4: Zeitdifferenz (fortgeschritten)
Schreiben Sie ein Programm, das die Differenz zweier Zeitangaben berechnet. Die Zeitangaben werden in Stunden, Minuten und Sekunden angegeben. Die Differenz soll ebenfalls in Stunden, Minuten und Sekunden ausgegeben werden.
Zusatz: stellen Sie sicher, dass das Eingabeformat korrekt ist und auch die eingegebenen Zahlenbereiche gültig sind (z.B. Stunden nur zwischen 0 und 23).
Zusatz: stellen Sie sicher, dass auch der Überschreitung von Mitternacht Rechnung getragen wird. Zum Beispiel beträgt die Differenz zwischen 22:00:00 Uhr und 05:00:00 Uhr genau 7 Stunden.
Meine Lösung
public static void main(String[] args) {
//Aufgabe 4
LocalDateTime ldtOne = LocalDateTime.of(2022,12,25,22,00,00);
LocalDateTime ldtTwo = LocalDateTime.of(2022,12,26,5,00,00);
System.out.println("Der Differenz beträgt: " + ldtOne.until(ldtTwo, ChronoUnit.HOURS));
//prints: Der Differenz beträgt: 7
}
Aber ich vermute das ist nicht anderes als pseudo-code. Nur durch LocalTime Funktion muss ich das Ergebnis von 7 Stunden bekommen, nicht durch LocalDateTime. Im Internet konnte ich leider auch nichts vernünftiges finden.
Danke im Voraus!
1 Antwort
Nach der Aufgabe war die Jahreszahl nicht gefragt. Du erstellst dir das LocalTime Object. Dem gibst du die ganzen Werte in eine Variable.
// DateTime Object
public class DateTime{
public int hour;
public int min;
public int sec;
public static printTime(){
String str = "Time: ";
str = str + hour + ":" + min + ":" + sec;
System.out.println(str);
}
// und noch den Constructor.
}
// Die Objekte erstellen
DateTime dt = new DateTime(22, 00, 00); // Die Zeit 22:00 Uhr
DateTime dt2 = new DateTime(5, 00, 00); // Die Zeit 05:00 Uhr
// Berechnung der zwei Daten
DateTime dt3 = new DateTime(dt.hour - dt2.hour, dt.min - dt2.min, dt.sec - dt2.sec); // Die Differenz der beiden dt's ergeben unser Resultat
dt3.printTime();
Ich hoffe das hilft dir. Es koennten Syntax Fehler dabei sein, da ich das hier schnell geschrieben habe.
Woher ich das weiß:Hobby