Класс MonthDay
Класс MonthDay представляет комбинацию месяца и дня без года.
Он полезен для представления дат, которые повторяются каждый год, таких как дни рождения или праздники.
Объекты MonthDay являются неизменяемыми и потокобезопасными.
Импорт
kotlinimport java.time.MonthDay
Синтаксис создания
kotlinfun of(month: Int, dayOfMonth: Int): MonthDay
kotlinfun of(month: Month, dayOfMonth: Int): MonthDay
kotlinfun now(): MonthDay
kotlinfun now(zone: ZoneId): MonthDay
kotlinfun parse(text: CharSequence): MonthDay
kotlinfun parse(text: CharSequence, formatter: DateTimeFormatter): MonthDay
Пример
Создадим объект MonthDay для 31 декабря:
kotlinval md = MonthDay.of(12, 31)
println(md)
Результат выполнения кода:
kotlinString "--12-31"
Пример
Создадим объект MonthDay с использованием перечисления Month:
kotlinimport java.time.Month
val md = MonthDay.of(Month.DECEMBER, 31)
println(md)
Результат выполнения кода:
kotlinString "--12-31"
Пример
Получим текущие месяц и день:
kotlinval currentMd = MonthDay.now()
println(currentMd)
Результат выполнения кода:
kotlinString "--09-11"
Пример
Парсинг строки в формате ISO-8601:
kotlinval md = MonthDay.parse("--12-31")
println(md)
Результат выполнения кода:
kotlinString "--12-31"
Пример
Получим компоненты MonthDay:
kotlinval md = MonthDay.of(12, 31)
val month = md.monthValue
val day = md.dayOfMonth
println("Month: $month, Day: $day")
Результат выполнения кода:
kotlinString "Month: 12, Day: 31"
Пример
Проверим валидность для конкретного года:
kotlinval md = MonthDay.of(2, 29)
val isValid2025 = md.isValidYear(2025)
val isValid2024 = md.isValidYear(2024)
println("Valid for 2025: $isValid2025")
println("Valid for 2024: $isValid2024")
Результат выполнения кода:
kotlinString "Valid for 2025: false"
String "Valid for 2024: true"
Пример
Создадим полную дату с помощью года:
kotlinval md = MonthDay.of(12, 31)
val date = md.atYear(2025)
println(date)
Результат выполнения кода:
kotlinString "2025-12-31"