Date/Time Débutant

Calculez les différences de temps avec Duration et Period de façon sûre en termes de types.

✕ 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);
Un problème avec ce code ? Dites-le nous.
🎯

Sûr en termes de types

Duration pour le temps, Period pour les dates — sans confusion.

🛡️

Calcul correct

Gère les transitions d'heure d'été, les années bissextiles et les secondes intercalaires.

📖

Lisible

ChronoUnit.DAYS.between() se lit comme un langage naturel.

Ancienne Approche
Arithmétique en millisecondes
Approche Moderne
Duration / Period
Depuis JDK
8
Difficulté
Débutant
Duration et Period
Disponible

Disponible depuis JDK 8 (mars 2014)

Duration est pour les quantités basées sur le temps (heures, minutes, secondes). Period est pour les quantités basées sur les dates (années, mois, jours). ChronoUnit.between() pour les différences simples. Tous gèrent correctement les cas limites.

Partager 𝕏 🦋 in