Функция atYear

Функция atYear класса MonthDay объединяет месяц и день с указанным годом, создавая объект LocalDate. В параметр мы передаем год для создания даты. Если комбинация месяца, дня и года является недопустимой, будет выброшено исключение.

Импорт

kotlinimport java.time.MonthDay
import java.time.LocalDate

Синтаксис

kotlinfun atYear(year: Int): LocalDate

Пример

Создадим объект MonthDay для 31 декабря и объединим его с годом 2025:

kotlinval monthDay = MonthDay.of(12, 31)
val date = monthDay.atYear(2025)
println(date)

Результат выполнения кода:

kotlinString "2025-12-31"

Пример

Проверим создание даты для високосного года:

kotlinval feb29 = MonthDay.of(2, 29)
val leapYearDate = feb29.atYear(2024)
println(leapYearDate)

Результат выполнения кода:

kotlinString "2024-02-29"

Пример

Попробуем создать недопустимую дату:

kotlintry {
  val invalidMonthDay = MonthDay.of(2, 30)
  val invalidDate = invalidMonthDay.atYear(2025)
  println(invalidDate)
} catch (e: Exception) {
  println("Error: " + e.message)
}

Результат выполнения кода:

kotlinString "Error: Invalid date 'FEBRUARY 30'"

Пример

Получим отдельные компоненты даты после создания:

kotlinval monthDay = MonthDay.of(7, 15)
val date = monthDay.atYear(2025)

val year = date.year
val month = date.monthValue
val day = date.dayOfMonth

println("Year: $year, Month: $month, Day: $day")

Результат выполнения кода:

kotlinString "Year: 2025, Month: 7, Day: 15"

Смотрите также

  • функцию of класса MonthDay,
    которая создает объект месяца и дня из числовых компонентов
  • функцию now класса MonthDay,
    которая возвращает текущие месяц и день
  • функцию of класса LocalDate,
    которая создает дату из числовых компонентов
  • класс YearMonth,
    который представляет год и месяц