Introduction
Dans ce laboratoire, vous apprendrez à utiliser la méthode get() de la classe LocalDate en Java pour récupérer des champs spécifiques d'une date. Cette méthode est utile lorsque vous avez uniquement besoin de récupérer un champ spécifique, tel que le jour du mois ou le jour de la semaine, à partir d'une date donnée. Vous pouvez utiliser l'énumération ChronoField pour spécifier quel champ récupérer.
Créer un fichier Java
Dans cette étape, vous allez créer un nouveau fichier Java nommé LocalDateGet.java dans le répertoire de votre projet. Ce fichier contiendra le code pour démontrer la méthode get() de la classe LocalDate.
Ouvrez le terminal dans votre WebIDE. Le répertoire par défaut est
~/project.Créez le fichier
LocalDateGet.javaen utilisant la commandetouch:touch LocalDateGet.javaCette commande crée un fichier vide dans votre répertoire courant. Vous pouvez vérifier sa création en listant les fichiers :
lsVous devriez voir
LocalDateGet.javalisté dans la sortie.
Ajouter les imports nécessaires et la structure de classe
Maintenant, vous allez ajouter la structure de base à votre fichier LocalDateGet.java, y compris les instructions d'importation requises et la définition de la classe principale. Ces imports sont essentiels pour travailler avec les API de date et d'heure en Java.
Ouvrez le fichier
LocalDateGet.javadans l'éditeur de code de la WebIDE.Ajoutez le code suivant au fichier :
import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { public static void main(String[] args) { // This is where we will call our methods later } }java.time.LocalDate: Cette classe représente une date sans fuseau horaire.java.time.temporal.ChronoField: Cette énumération fournit un ensemble standard de champs pour la date et l'heure, tels queDAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR, etc.java.time.temporal.TemporalAccessor: Cette interface fournit un accès en lecture seule à un objet temporel, tel queLocalDate. La méthodeget()est définie dans cette interface.java.time.temporal.TemporalField: Cette interface représente un champ de date-heure, tel que l'année, le mois ou le jour du mois.ChronoFieldimplémente cette interface.
Enregistrez le fichier
LocalDateGet.javaaprès avoir ajouté le code.
Récupérer le jour du mois
Dans cette étape, vous allez ajouter une méthode à votre classe LocalDateGet qui démontre comment récupérer le jour du mois à partir d'un objet LocalDate en utilisant la méthode get() et ChronoField.DAY_OF_MONTH.
Ouvrez le fichier
LocalDateGet.javadans l'éditeur de code de la WebIDE.Ajoutez la méthode
getDayOfMonth()à l'intérieur de la classeLocalDateGet, mais en dehors de la méthodemain:import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { public static void getDayOfMonth() { // Define the field to retrieve: DAY_OF_MONTH TemporalField field = ChronoField.DAY_OF_MONTH; // Create a LocalDate object for May 17, 2021 TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the month using the get() method int val = date.get(field); // Display the retrieved day of the month System.out.println("Day of the month: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // This is where we will call our methods later } }LocalDate.of(2021, 5, 17): Crée un objetLocalDatereprésentant le 17 mai 2021.ChronoField.DAY_OF_MONTH: Spécifie que nous voulons récupérer le jour du mois.date.get(field): C'est le cœur de l'opération. Elle appelle la méthodeget()sur l'objetdate, en passant lefield(qui estChronoField.DAY_OF_MONTH) pour extraire la valeur entière correspondante.
Enregistrez le fichier
LocalDateGet.java.Maintenant, appelons cette méthode depuis
mainpour la voir en action. Modifiez votre méthodemaincomme suit :public static void main(String[] args) { getDayOfMonth(); // Other methods will be called here later }Enregistrez à nouveau le fichier.
Ouvrez le terminal et compilez votre code Java :
javac LocalDateGet.javaS'il n'y a pas d'erreurs, la compilation se terminera silencieusement.
Exécutez le programme Java compilé :
java LocalDateGetVous devriez voir une sortie similaire à celle-ci :
Date : 2021-05-17 Day of the month: 17Cela confirme que la méthode
getDayOfMonth()extrait correctement le jour du mois.
Récupérer le jour de la semaine
Ensuite, vous allez ajouter une autre méthode pour récupérer le jour de la semaine. Le champ ChronoField.DAY_OF_WEEK représente le jour de la semaine, où 1 est lundi, 2 est mardi, et ainsi de suite, jusqu'à 7 pour dimanche.
Ouvrez le fichier
LocalDateGet.javadans l'éditeur de code de la WebIDE.Ajoutez la méthode
getDayOfWeek()à l'intérieur de la classeLocalDateGet, en dessous de la méthodegetDayOfMonth():import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { // ... (getDayOfMonth method as defined previously) ... public static void getDayOfWeek() { // Define the field to retrieve: DAY_OF_WEEK TemporalField field = ChronoField.DAY_OF_WEEK; // Create a LocalDate object for May 17, 2021 (which was a Monday) TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the week using the get() method int val = date.get(field); // Display the retrieved day of the week System.out.println("Day of the week: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // ... (main method as defined previously) ... } }Enregistrez le fichier
LocalDateGet.java.Maintenant, appelez cette nouvelle méthode depuis votre méthode
main. Mettez à jour la méthodemaincomme suit :public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); // Call the new method // Other methods will be called here later }Enregistrez à nouveau le fichier.
Compilez votre code Java depuis le terminal :
javac LocalDateGet.javaExécutez le programme Java compilé :
java LocalDateGetVous devriez voir une sortie similaire à celle-ci :
Date : 2021-05-17 Day of the month: 17 Date : 2021-05-17 Day of the week: 1Puisque le 17 mai 2021 était un lundi, et que
ChronoField.DAY_OF_WEEKreprésente le lundi par 1, la sortieDay of the week: 1est correcte.
Récupérer le jour de l'année
Finalement, vous allez ajouter une méthode pour récupérer le jour de l'année. Le champ ChronoField.DAY_OF_YEAR représente le jour de l'année, où 1 est le 1er janvier, et ainsi de suite.
Ouvrez le fichier
LocalDateGet.javadans l'éditeur de code de la WebIDE.Ajoutez la méthode
getDayOfYear()à l'intérieur de la classeLocalDateGet, en dessous de la méthodegetDayOfWeek():import java.time.LocalDate; import java.time.temporal.ChronoField; import java.time.temporal.TemporalAccessor; import java.time.temporal.TemporalField; public class LocalDateGet { // ... (getDayOfMonth and getDayOfWeek methods as defined previously) ... public static void getDayOfYear() { // Define the field to retrieve: DAY_OF_YEAR TemporalField field = ChronoField.DAY_OF_YEAR; // Create a LocalDate object for May 17, 2021 TemporalAccessor date = LocalDate.of(2021, 5, 17); // Display the original date System.out.println("Date : " + date); // Retrieve the day of the year using the get() method int val = date.get(field); // Display the retrieved day of the year System.out.println("Day of the year: " + val); System.out.println(); // Add a blank line for better readability } public static void main(String[] args) { // ... (main method as defined previously) ... } }Enregistrez le fichier
LocalDateGet.java.Maintenant, appelez cette dernière méthode depuis votre méthode
main. Mettez à jour la méthodemaincomme suit :public static void main(String[] args) { getDayOfMonth(); getDayOfWeek(); getDayOfYear(); // Call the new method }Enregistrez à nouveau le fichier.
Compilez votre code Java depuis le terminal :
javac LocalDateGet.javaExécutez le programme Java compilé :
java LocalDateGetVous devriez voir la sortie complète, incluant le jour de l'année :
Date : 2021-05-17 Day of the month: 17 Date : 2021-05-17 Day of the week: 1 Date : 2021-05-17 Day of the year: 137Le 17 mai 2021 était le 137e jour de l'année, donc la sortie
Day of the year: 137est correcte.
Résumé
Dans ce lab, vous avez appris à utiliser la méthode get() de la classe Java LocalDate pour récupérer des champs spécifiques à partir de dates. Vous avez créé un programme qui récupère le jour du mois, le jour de la semaine et le jour de l'année pour la même date (17 mai 2021). En utilisant la méthode get() avec l'énumération ChronoField, vous pouvez extraire efficacement des composants de date spécifiques, rendant vos programmes Java plus précis lors de l'utilisation de données temporelles.



