Функция withYear

Функция withYear класса LocalDateTime возвращает копию исходного объекта LocalDateTime с измененным значением года. В параметр мы передаем целое число, представляющее новый год.

Импорт

kotlinimport java.time.LocalDateTime

Синтаксис

kotlinfun withYear(year: Int): LocalDateTime

Пример

Изменим год в объекте LocalDateTime на 2026:

kotlinval datetime = LocalDateTime.of(2025, 12, 31, 15, 30, 45)
val newDatetime = datetime.withYear(2026)
println("Original: $datetime")
println("Modified: $newDatetime")

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

kotlinString "Original: 2025-12-31T15:30:45"
String "Modified: 2026-12-31T15:30:45"

Пример

Изменим год на високосный и проверим корректность даты:

kotlinval datetime = LocalDateTime.of(2025, 2, 28, 10, 0, 0)
val leapYearDatetime = datetime.withYear(2024)

println("Original: $datetime")
println("Leap year: $leapYearDatetime")
println("Day of month: " + leapYearDatetime.dayOfMonth)

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

kotlinString "Original: 2025-02-28T10:00"
String "Leap year: 2024-02-28T10:00"
Int 28

Пример

Изменим год с проверкой на валидность даты:

kotlinval datetime = LocalDateTime.of(2025, 2, 29, 12, 0, 0)

try {
  val newDatetime = datetime.withYear(2023)
  println("Success: $newDatetime")
} catch (e: Exception) {
  println("Error: " + e.message)
}

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

kotlinString "Error: Invalid date 'February 29' as '2023' is not a leap year"

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

  • функцию withMonth класса LocalDateTime,
    которая изменяет месяц даты-времени
  • функцию withDayOfMonth класса LocalDateTime,
    которая изменяет день месяца
  • функцию plusYears класса LocalDateTime,
    которая добавляет годы к дате-времени
  • функцию getYear класса LocalDateTime,
    которая возвращает год даты-времени