Date/Time Principiante

Calcola le differenze di tempo con Duration e Period type-safe.

✕ 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);
Vedi un problema con questo codice? Faccelo sapere.
🎯

Type-safe

Duration per il tempo, Period per le date — nessuna confusione.

🛡️

Calcoli corretti

Gestisce le transizioni DST, gli anni bisestili e i secondi intercalari.

📖

Leggibile

ChronoUnit.DAYS.between() si legge come in inglese.

Approccio Vecchio
Aritmetica in millisecondi
Approccio Moderno
Duration / Period
Dal JDK
8
Difficoltà
Principiante
Duration e Period
Disponibile

Ampiamente disponibile dal JDK 8 (marzo 2014)

Duration è per quantità basate sul tempo (ore, minuti, secondi). Period è per quantità basate sulla data (anni, mesi, giorni). ChronoUnit.between() per differenze semplici. Tutti gestiscono correttamente i casi limite.

Condividi 𝕏 🦋 in