Date/Time Einsteiger

Berechne Zeitdifferenzen typsicher mit Duration und Period.

✕ Pre-Java 8
// How many days between two dates?
long diff = date2.getTime()
    - date1.getTime();
long days = diff
    / (1000 * 60 * 60 * 24);
// ignores DST, leap seconds
✓ Java 8+
long days = ChronoUnit.DAYS
    .between(date1, date2);
Period period = Period.between(
    date1, date2);
Duration elapsed = Duration.between(
    time1, time2);
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🎯

Typsicher

Duration für Zeit, Period für Datum — keine Verwechslungen.

🛡️

Korrekte Berechnung

Behandelt Sommerzeitumstellungen, Schaltjahre und Schaltsekunden.

📖

Lesbar

ChronoUnit.DAYS.between() liest sich wie natürliche Sprache.

Alter Ansatz
Millisekunden-Arithmetik
Moderner Ansatz
Duration / Period
Seit JDK
8
Schwierigkeitsgrad
Einsteiger
Duration und Period
Verfügbar

Weitgehend verfügbar seit JDK 8 (März 2014)

Duration steht für zeitbasierte Mengen (Stunden, Minuten, Sekunden). Period steht für datumsbasierte Mengen (Jahre, Monate, Tage). ChronoUnit.between() eignet sich für einfache Differenzen. Alle Klassen behandeln Sonderfälle korrekt.

Teilen 𝕏 🦋 in