Objectifs
- Comprendre les méthodes getter des classes LocalDate, LocalTime, LocalDateTime, Period et Duration.
- Apprendre à utiliser ces méthodes pour récupérer des valeurs spécifiques de dates, d'heures, de périodes et de durées.
Introduction aux Méthodes Getter
- En Java, les classes de l'API java.time fournissent diverses méthodes getter pour récupérer des valeurs spécifiques d'une date, d'une heure, d'une période ou d'une durée. Ces méthodes commencent par « get » suivi du nom de l’unité temporelle recherchée, comme
getYear(),getMonth(),getDayOfMonth(),getHour(), etc. - Les méthodes getter permettent d'extraire des informations spécifiques à partir des objets de date, d'heure, de période et de durée. Voici une liste non exhaustive des méthodes getter disponibles dans l'API java.time.
- En Java, les classes de l'API java.time fournissent diverses méthodes getter pour récupérer des valeurs spécifiques d'une date, d'une heure, d'une période ou d'une durée. Ces méthodes commencent par « get » suivi du nom de l’unité temporelle recherchée, comme
-
Méthodes Getter pour LocalDate
- La classe LocalDate représente une date sans information de temps. Les méthodes getter couramment utilisées incluent :
getYear() getMonth() getMonthValue() getDayOfMonth() getDayOfYear() getDayOfWeek()import java.time.LocalDate; import java.time.Month; import java.time.DayOfWeek; public class LocalDateExample { public static void main(String[] args) { LocalDate date = LocalDate.of(2024, Month.JUNE, 7); int year = date.getYear(); Month month = date.getMonth(); int monthValue = date.getMonthValue(); int dayOfMonth = date.getDayOfMonth(); int dayOfYear = date.getDayOfYear(); DayOfWeek dayOfWeek = date.getDayOfWeek(); System.out.println("Year: " + year); System.out.println("Month: " + month); System.out.println("Month Value: " + monthValue); System.out.println("Day of Month: " + dayOfMonth); System.out.println("Day of Year: " + dayOfYear); System.out.println("Day of Week: " + dayOfWeek); } } -
Méthodes Getter pour LocalTime
- La classe LocalTime représente une heure sans information de date. Les méthodes getter couramment utilisées incluent :
getHour() getMinute() getSecond() getNano()import java.time.LocalTime; public class LocalTimeExample { public static void main(String[] args) { LocalTime time = LocalTime.of(14, 30, 15, 123456789); int hour = time.getHour(); int minute = time.getMinute(); int second = time.getSecond(); int nano = time.getNano(); System.out.println("Hour: " + hour); System.out.println("Minute: " + minute); System.out.println("Second: " + second); System.out.println("Nano: " + nano); } } Méthodes Getter pour LocalDateTime
- La classe LocalDateTime combine une date et une heure. Les méthodes getter couramment utilisées incluent :
getYear() getMonth() getMonthValue() getDayOfMonth() getDayOfYear() getDayOfWeek() getHour() getMinute() getSecond() getNano()import java.time.LocalDateTime; import java.time.Month; import java.time.DayOfWeek; public class LocalDateTimeExample { public static void main(String[] args) { LocalDateTime dateTime = LocalDateTime.of(2024, Month.JUNE, 7, 14, 30, 15, 123456789); int year = dateTime.getYear(); Month month = dateTime.getMonth(); int monthValue = dateTime.getMonthValue(); int dayOfMonth = dateTime.getDayOfMonth(); int dayOfYear = dateTime.getDayOfYear(); DayOfWeek dayOfWeek = dateTime.getDayOfWeek(); int hour = dateTime.getHour(); int minute = dateTime.getMinute(); int second = dateTime.getSecond(); int nano = dateTime.getNano(); System.out.println("Year: " + year); System.out.println("Month: " + month); System.out.println("Month Value: " + monthValue); System.out.println("Day of Month: " + dayOfMonth); System.out.println("Day of Year: " + dayOfYear); System.out.println("Day of Week: " + dayOfWeek); System.out.println("Hour: " + hour); System.out.println("Minute: " + minute); System.out.println("Second: " + second); System.out.println("Nano: " + nano); } }-
Méthodes Getter pour Period
- La classe Period représente une période de temps en années, mois et jours. Les méthodes getter couramment utilisées incluent :
getYears() getMonths() getDays()import java.time.Period; public class PeriodExample { public static void main(String[] args) { Period period = Period.of(1, 6, 15); int years = period.getYears(); int months = period.getMonths(); int days = period.getDays(); System.out.println("Years: " + years); System.out.println("Months: " + months); System.out.println("Days: " + days); } } -
Méthodes Getter pour Duration
- La classe Duration représente une durée en secondes et nanosecondes. Les méthodes getter couramment utilisées incluent :
getSeconds() getNano()import java.time.Duration; public class DurationExample { public static void main(String[] args) { Duration duration = Duration.ofSeconds(3605, 123456789); long seconds = duration.getSeconds(); int nano = duration.getNano(); System.out.println("Seconds: " + seconds); System.out.println("Nano: " + nano); } } -
Exemples Pratiques
-
Exemple 1 : Calculer l'Âge en Années, Mois et Jours
import java.time.LocalDate; import java.time.Period; public class AgeCalculator { public static void main(String[] args) { LocalDate birthDate = LocalDate.of(1990, 6, 7); LocalDate currentDate = LocalDate.now(); Period age = Period.between(birthDate, currentDate); int years = age.getYears(); int months = age.getMonths(); int days = age.getDays(); System.out.println("Age: " + years + " years, " + months + " months, and " + days + " days."); } } -
Exemple 2 : Afficher le Temps Restant Avant une Échéance
import java.time.Duration; import java.time.LocalDateTime; public class CountdownTimer { public static void main(String[] args) { LocalDateTime now = LocalDateTime.now(); LocalDateTime deadline = LocalDateTime.of(2024, 12, 31, 23, 59, 59); Duration duration = Duration.between(now, deadline); long hours = duration.toHours(); long minutes = duration.toMinutes() % 60; long seconds = duration.getSeconds() % 60; System.out.println("Time remaining: " + hours + " hours, " + minutes + " minutes, " + seconds + " seconds."); } }
-