Date/Time Débutant

Utilisez des types de date/heure immutables et clairs au lieu de Date et Calendar.

✕ Pre-Java 8
// Mutable, confusing, zero-indexed months
Calendar cal = Calendar.getInstance();
cal.set(2025, 0, 15); // January = 0!
Date date = cal.getTime();
// not thread-safe
✓ Java 8+
LocalDate date = LocalDate.of(
    2025, Month.JANUARY, 15);
LocalTime time = LocalTime.of(14, 30);
Instant now = Instant.now();
// immutable, thread-safe
Un problème avec ce code ? Dites-le nous.
🔒

Immutable

Les valeurs de date/heure ne peuvent pas être modifiées accidentellement.

📖

API claire

Month.JANUARY, pas 0. DayOfWeek.MONDAY, pas 2.

🛡️

Thread-safe

Sans synchronisation nécessaire — partagé librement entre les threads.

Ancienne Approche
Date + Calendar
Approche Moderne
java.time.*
Depuis JDK
8
Difficulté
Débutant
Fondamentaux de l'API java.time
Disponible

Disponible depuis JDK 8 (mars 2014)

java.time fournit LocalDate, LocalTime, LocalDateTime, Instant, ZonedDateTime — tous immutables et thread-safe. Les mois sont indexés à partir de 1. Fini la confusion avec Calendar.JANUARY = 0.

Partager 𝕏 🦋 in