Heim > Java > javaLernprogramm > Wie kann ich Datums- und Zeitunterschiede in Java effizient berechnen?

Wie kann ich Datums- und Zeitunterschiede in Java effizient berechnen?

Patricia Arquette
Freigeben: 2024-12-18 14:15:10
Original
586 Leute haben es durchsucht

How Can I Efficiently Calculate Date and Time Differences in Java?

Berechnen von Datums-/Zeitunterschieden in Java

In Java ist es oft notwendig, die Differenz zwischen zwei Datums- oder Zeitangaben zu berechnen, um die verstrichene Zeit zu bestimmen Dauern. Dies kann mit verschiedenen Techniken erreicht werden, aber ein gängiger Ansatz besteht darin, Millisekunden zu manipulieren.

Eine Möglichkeit, Datums-/Uhrzeitdifferenzberechnungen durchzuführen, ist die Date-Klasse. Die Date-Klasse stellt einen bestimmten Zeitpunkt dar und stellt Methoden zum Konvertieren von Datumsangaben in und aus Millisekunden seit der Epoche bereit. Um die Differenz zwischen zwei Datumsangaben zu berechnen, können Sie einfach die Millisekunden, die das frühere Datum darstellt, von denen des späteren Datums subtrahieren.

Betrachten wir beispielsweise den folgenden Code:

String dateStart = "11/03/14 09:29:58";
String dateStop = "11/03/14 09:33:43";

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

Date d1 = null;
Date d2 = null;
try {
    d1 = format.parse(dateStart);
    d2 = format.parse(dateStop);
} catch (ParseException e) {
    e.printStackTrace();
}

// Get msec from each, and subtract.
long diff = d2.getTime() - d1.getTime();
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);

System.out.println("Time in seconds: " + diffSeconds + " seconds.");
System.out.println("Time in minutes: " + diffMinutes + " minutes.");
System.out.println("Time in hours: " + diffHours + " hours.");
Nach dem Login kopieren

Dieser Code zeigt, wie die Differenz zwischen zwei Datumsangaben in Stunden, Minuten und Sekunden berechnet wird. Es gibt jedoch ein Problem mit dem angegebenen Code: Die Variable diffSeconds wird falsch berechnet. Der korrekte Weg, die Anzahl der Sekunden zu berechnen, erfolgt in Millisekunden, wie unten gezeigt:

long diffSeconds = TimeUnit.MILLISECONDS.toSeconds(diff);
Nach dem Login kopieren

Diese Änderung stellt sicher, dass der korrekte Zeitunterschied in Sekunden berechnet und angezeigt wird.

Das obige ist der detaillierte Inhalt vonWie kann ich Datums- und Zeitunterschiede in Java effizient berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage