Функция atYear
Функция atYear класса MonthDay объединяет месяц и день с указанным годом, создавая объект LocalDate.
В параметр мы передаем год для создания даты. Если комбинация месяца, дня и года является недопустимой, будет выброшено исключение.
Импорт
import java.time.MonthDay
import java.time.LocalDate
Синтаксис
fun atYear(year: Int): LocalDate
Пример
Создадим объект MonthDay для 31 декабря и объединим его с годом 2025:
val monthDay = MonthDay.of(12, 31)
val date = monthDay.atYear(2025)
println(date)
Результат выполнения кода:
String "2025-12-31"
Пример
Проверим создание даты для високосного года:
val feb29 = MonthDay.of(2, 29)
val leapYearDate = feb29.atYear(2024)
println(leapYearDate)
Результат выполнения кода:
String "2024-02-29"
Пример
Попробуем создать недопустимую дату:
try {
val invalidMonthDay = MonthDay.of(2, 30)
val invalidDate = invalidMonthDay.atYear(2025)
println(invalidDate)
} catch (e: Exception) {
println("Error: " + e.message)
}
Результат выполнения кода:
String "Error: Invalid date 'FEBRUARY 30'"
Пример
Получим отдельные компоненты даты после создания:
val 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")
Результат выполнения кода:
String "Year: 2025, Month: 7, Day: 15"