Heim > Java > javaLernprogramm > Wie kann Java die Anzahl der Tage zwischen zwei Daten effizient berechnen?

Wie kann Java die Anzahl der Tage zwischen zwei Daten effizient berechnen?

Patricia Arquette
Freigeben: 2024-12-13 08:17:10
Original
444 Leute haben es durchsucht

How Can Java Efficiently Calculate the Number of Days Between Two Dates?

Tage zwischen zwei Daten mit Java berechnen

Die Bestimmung der Differenz zwischen zwei Daten ist eine häufige Programmieraufgabe. Java bietet mehrere Klassen und Methoden, um diesen Prozess zu vereinfachen, einschließlich der Handhabung von Schaltjahren und Sommerzeit.

Berechnen von Tagen mithilfe der Java 8-Zeit-API

Java 8 führte das neue Java ein. time-Paket, das eine modernere und benutzerfreundlichere API für die Arbeit mit Datums- und Uhrzeitangaben bereitstellt. Um die Tage zwischen Datumsangaben mit Java 8 zu berechnen, führen Sie die folgenden Schritte aus:

  1. Parsen Sie jede Datumszeichenfolge mit DateTimeFormatter.ofPattern("dd MM yyyy").
  2. Berechnen Sie die Dauer zwischen den beiden Datumsangaben mit Duration.between().
  3. Konvertieren Sie die Dauer mit in Tage Duration.toDays().

Beispiel:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    LocalDateTime date1 = LocalDate.parse(inputString1, dtf);
    LocalDateTime date2 = LocalDate.parse(inputString2, dtf);
    long daysBetween = Duration.between(date1, date2).toDays();
    System.out.println("Days: " + daysBetween);
} catch (ParseException e) {
    e.printStackTrace();
}
Nach dem Login kopieren

Kalendertage berechnen

Beachten Sie, dass die Der obige Ansatz zählt Tage als generische 24-Stunden-Blöcke, nicht als Kalendertage. Verwenden Sie für Kalendertage java.time.temporal.ChronoUnit.DAYS und die Methode between().

long daysBetween = ChronoUnit.DAYS.between(date1, date2);
Nach dem Login kopieren

Umgang mit Schaltjahren und Sommerzeit

Sowohl Java 8-Zeit-API und die in der ursprünglichen Antwort bereitgestellte SimpleDateFormat-Klasse verarbeiten automatisch Schaltjahre und Sommerzeit Anpassungen.

Konvertieren von Zeichenfolgen in Datumsangaben

Vermeiden Sie unnötige Konvertierungen von Zeichenfolgen in Datumsangaben und zurück. SimpleDateFormat ist ein leistungsstarkes Tool, das jedoch jedes Datum unnötigerweise zweimal analysiert und formatiert. Es ist effizienter, die Methode LocalDateTime.parse() direkt zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann Java die Anzahl der Tage zwischen zwei Daten 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