La Classe LocalDate en Java
Sommaire
- 1- Objectifs
- 2- Introduction à LocalDate
- 3- Création de LocalDate en Java
- 3.1- Utilisation de la méthode
now()
- 3.2- Utilisation de la méthode
of()
- 3.3- Utilisation de la méthode
parse()
- 4- Manipulation des Dates avec LocalDate
- 4.1- Ajouter ou Soustraire des Jours
- 4.2- Ajouter ou Soustraire des Mois et des Années
- 5- Comparaison des Dates
- 6- Formatage et Analyse des Dates
- 6.1- Formatage de LocalDate
- 6.2- Analyse de LocalDate
- 7- Exemples Pratiques
- 7.1.1- Cours JAVA
La Classe LocalDate en Java
-
Objectifs
- Comprendre les bases de la classe LocalDate.
- Apprendre à créer et manipuler des objets LocalDate.
- Utiliser les méthodes pratiques pour les opérations courantes sur les dates.
- Apprendre à formater et à analyser les dates.
-
Introduction à LocalDate
- La classe LocalDate de Java, introduite dans Java 8, fait partie de l’API java.time et est utilisée pour représenter une date (année, mois, jour) sans information de temps ni de fuseau horaire. Elle est immuable et thread-safe.
- La classe LocalDate est une classe contenant des attributs et méthodes permettant le traitement et la manipulation de dates locales. Il faut évidemment l’importer, cependant, en règle générale, Intellij IDEA l’importe automatiquement si vous cliquez sur « Entrée » lorsqu’on tape vous tapez son nom.
- LocalDate est utilisé pour représenter une date uniquement, sans heure, minute ou seconde. Il est utile pour les opérations qui concernent uniquement la date, comme les anniversaires, les dates de facturation, etc.
-
Création de LocalDate en Java
- Vous pouvez créer une instance de LocalDate de plusieurs façons :
-
Utilisation de la méthode
now()
- Commençons par utiliser une méthode très utile, la méthode now() :
- Exemple 01
- Exemple 02
- Ici, nous appelons la méthode statique now() de la classe LocalDate et nous la stockons dans la variable ajdh de type LocalDate. On peut voir que la variable ajdh contient un format de date spécifique : « annee-mois-jour ». D’ailleurs, cette méthode permet d’obtenir la date d’aujourd’hui.
-
Utilisation de la méthode
of()
- Une autre méthode est très utilisée. Il s’agit de la méthode of(). Elle permet de générer une instance de LocalDate. En spécifiant dans les paramètres, l’année, le mois et le jour, LocalDate.of() crée une représentation de la date correspondante :
- Exemple 01
- Dans ce cas, la variable datetest contiendra la date : 1991-06-15.
- Remarque
- La classe LocalDate contient des constantes (des variables dont la valeur ne change jamais). Ce sont les constantes :
- LocalDate.MAX : la date maximum supportée,
- LocalDate.MIN : la date minimum supportée,
- LocalDate.EPOCH : la date de référence du système qui est le 1970-01-01.
- Exemple 02
-
Utilisation de la méthode
parse()
-
Manipulation des Dates avec LocalDate
- LocalDate fournit diverses méthodes pour manipuler les dates, comme ajouter ou soustraire des jours, des mois, des années, etc.
-
Ajouter ou Soustraire des Jours
-
Ajouter ou Soustraire des Mois et des Années
-
Comparaison des Dates
- Vous pouvez comparer des dates en utilisant des méthodes telles que
isBefore()
,isAfter()
, etisEqual()
. -
Formatage et Analyse des Dates
- LocalDate peut être formaté et analysé à l’aide de la classe DateTimeFormatter.
-
Formatage de LocalDate
-
Analyse de LocalDate
-
Exemples Pratiques
- Calculer l’Âge à partir d’une Date de Naissance
- Trouver le Jour de la Semaine pour une Date Spécifique
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("Today's Date: " + today);
}
}
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate ajdh = LocalDate.now();
System.out.println(ajdh);
}
}
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate datetest = LocalDate.of(1991, 6, 15);
System.out.println(datetest);
}
}
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate specificDate = LocalDate.of(2024, 6, 7);
System.out.println("Specific Date: " + specificDate);
}
}
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate parsedDate = LocalDate.parse("2024-06-07");
System.out.println("Parsed Date: " + parsedDate);
}
}
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate tomorrow = today.plusDays(1);
LocalDate yesterday = today.minusDays(1);
System.out.println("Today: " + today);
System.out.println("Tomorrow: " + tomorrow);
System.out.println("Yesterday: " + yesterday);
}
}
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate nextMonth = today.plusMonths(1);
LocalDate lastYear = today.minusYears(1);
System.out.println("Today: " + today);
System.out.println("Next Month: " + nextMonth);
System.out.println("Last Year: " + lastYear);
}
}
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate futureDate = LocalDate.of(2025, 1, 1);
System.out.println("Today is before future date: " + today.isBefore(futureDate));
System.out.println("Today is after future date: " + today.isAfter(futureDate));
System.out.println("Today is equal to future date: " + today.isEqual(futureDate));
}
}
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
String formattedDate = today.format(formatter);
System.out.println("Formatted Date: " + formattedDate);
}
}
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateExample {
public static void main(String[] args) {
String dateString = "07-06-2024";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate parsedDate = LocalDate.parse(dateString, formatter);
System.out.println("Parsed Date: " + parsedDate);
}
}
import java.time.LocalDate;
import java.time.Period;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate birthDate = LocalDate.of(1990, 6, 7);
LocalDate today = LocalDate.now();
Period age = Period.between(birthDate, today);
System.out.println("Age: " + age.getYears() + " years");
}
}
import java.time.DayOfWeek;
import java.time.LocalDate;
public class LocalDateExample {
public static void main(String[] args) {
LocalDate date = LocalDate.of(2024, 6, 7);
DayOfWeek dayOfWeek = date.getDayOfWeek();
System.out.println("Day of the Week: " + dayOfWeek);
}
}