Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Java

La Classe LocalDate en Java

Un cours complet pour maîtriser La Classe LocalDate en Java.

0 chapitres 0 QCM Accès gratuit
  1. 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.
  2. Introduction à LocalDate

      La Classe LocalDate en Java

    • 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.
  3. Création de LocalDate en Java

    • Vous pouvez créer une instance de LocalDate de plusieurs façons :
      1. Utilisation de la méthode now()
        • Commençons par utiliser une méthode très utile, la méthode now():
          • Exemple 01
              import java.time.LocalDate;
              public class LocalDateExample {
                  public static void main(String[] args) {
                      LocalDate today = LocalDate.now();
                      System.out.println("Today's Date: " + today);
                  }
              }
          • Exemple 02
              import java.time.LocalDate;
              public class Main {
                  public static void main(String[] args) {
                      LocalDate ajdh = LocalDate.now();
                      System.out.println(ajdh);
                  }
              }
          • 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.
      2. 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
            import java.time.LocalDate;
            public class Main {
                public static void main(String[] args) {
                    LocalDate datetest = LocalDate.of(1991, 6, 15);
                    System.out.println(datetest);
                }
            }
          • 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
            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);
                }
            }
      3. Utilisation de la méthode parse()
          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);
              }
          }
  4. 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.
    1. Ajouter ou Soustraire des Jours
        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);
            }
        }
    2. Ajouter ou Soustraire des Mois et des Années
        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);
            }
        }
        
  5. Comparaison des Dates

    • Vous pouvez comparer des dates en utilisant des méthodes telles que isBefore(), isAfter(), et isEqual().
        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));
            }
        }
  6. Formatage et Analyse des Dates

    • LocalDate peut être formaté et analysé à l'aide de la classe DateTimeFormatter.
    1. Formatage de LocalDate
        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);
            }
        }
    2. Analyse de LocalDate
        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);
            }
        }
        
  7. Exemples Pratiques

    • Calculer l'Âge à partir d'une Date de Naissance
        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");
            }
        }
    • Trouver le Jour de la Semaine pour une Date Spécifique
        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);
            }
        }