Méthode withDayOfYear de Java LocalDate

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à utiliser la méthode withDayOfYear() de la classe LocalDate en Java pour créer une date avec une nouvelle valeur de jour de l'année.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java/BasicSyntaxGroup -.-> java/output("Output") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/date("Date") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/FileandIOManagementGroup -.-> java/files("Files") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117860{{"Méthode withDayOfYear de Java LocalDate"}} java/date -.-> lab-117860{{"Méthode withDayOfYear de Java LocalDate"}} java/exceptions -.-> lab-117860{{"Méthode withDayOfYear de Java LocalDate"}} java/files -.-> lab-117860{{"Méthode withDayOfYear de Java LocalDate"}} java/string_methods -.-> lab-117860{{"Méthode withDayOfYear de Java LocalDate"}} end

Créer un fichier Java

Créez un fichier LocalDateWithDayOfYear.java dans le répertoire ~/project avec le code suivant :

import java.time.LocalDate;

public class LocalDateWithDayOfYear {
    public static void main(String[] args) {
        System.out.println("Date d'origine : ");
        LocalDate localDate = LocalDate.of(2002, 01, 10);
        System.out.println(localDate);
    }
}

Utilisez la commande suivante pour compiler et exécuter le code :

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La sortie devrait afficher la date d'origine :

Date d'origine :
2002-01-10

Utiliser withDayOfYear() pour définir le nouveau jour de l'année

Pour créer une nouvelle date en définissant une nouvelle valeur de jour de l'année, nous pouvons utiliser la méthode withDayOfYear() pour définir un nouveau jour pour la date.

Ajoutez le code suivant après la ligne System.out.println(localDate); :

// définir le jour de l'année comme 30
localDate = localDate.withDayOfYear(30);
System.out.println("Nouvelle date avec le jour de l'année défini comme 30 : ");
System.out.println(localDate);

// définir le jour de l'année comme 300
localDate = localDate.withDayOfYear(300);
System.out.println("Nouvelle date avec le jour de l'année défini comme 300 : ");
System.out.println(localDate);

Utilisez la commande suivante pour compiler et exécuter le code :

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La sortie devrait afficher les nouvelles dates avec les nouvelles valeurs de jour de l'année :

Date d'origine :
2002-01-10
Nouvelle date avec le jour de l'année défini comme 30 :
2002-01-30
Nouvelle date avec le jour de l'année défini comme 300 :
2002-10-27

Gérer une date invalide

Si la date résultante est invalide, une exception sera levée. Nous pouvons gérer l'exception en utilisant un bloc try-catch comme suit :

try {
    // définir le jour de l'année comme 366 (invalide pour une année non bissextile)
    localDate = localDate.withDayOfYear(366);
    System.out.println(localDate);
} catch (Exception e) {
    System.out.println("Date invalide : " + e.getMessage());
}

Utilisez la commande suivante pour compiler et exécuter le code :

javac LocalDateWithDayOfYear.java && java LocalDateWithDayOfYear

La sortie devrait afficher le message de l'exception de date invalide :

Date d'origine :
2002-01-10
Nouvelle date avec le jour de l'année défini comme 30 :
2002-01-30
Nouvelle date avec le jour de l'année défini comme 300 :
2002-10-27
Date invalide : Date invalide 'DayOfYear 366' car '2002' n'est pas une année bissextile

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser la méthode withDayOfYear() de la classe LocalDate en Java pour créer une date avec une nouvelle valeur de jour de l'année. Nous avons également appris à gérer l'exception de date invalide lors de la définition d'une nouvelle valeur de jour de l'année.