Fondamentaux de l'API java.time
Utilisez des types de date/heure immutables et clairs au lieu de Date et Calendar.
Comparaison de Code
✕ 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.
Pourquoi la méthode moderne gagne
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
Support JDK
Fondamentaux de l'API java.time
Disponible
Disponible depuis JDK 8 (mars 2014)
Comment ça fonctionne
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.
Documentation Associée