Функция withYear
Функция withYear класса LocalDateTime возвращает копию исходного объекта LocalDateTime с измененным значением года.
В параметр мы передаем целое число, представляющее новый год.
Импорт
import java.time.LocalDateTime
Синтаксис
fun withYear(year: Int): LocalDateTime
Пример
Изменим год в объекте LocalDateTime на 2026:
val datetime = LocalDateTime.of(2025, 12, 31, 15, 30, 45)
val newDatetime = datetime.withYear(2026)
println("Original: $datetime")
println("Modified: $newDatetime")
Результат выполнения кода:
String "Original: 2025-12-31T15:30:45"
String "Modified: 2026-12-31T15:30:45"
Пример
Изменим год на високосный и проверим корректность даты:
val 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)
Результат выполнения кода:
String "Original: 2025-02-28T10:00"
String "Leap year: 2024-02-28T10:00"
Int 28
Пример
Изменим год с проверкой на валидность даты:
val 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)
}
Результат выполнения кода:
String "Error: Invalid date 'February 29' as '2023' is not a leap year"
Смотрите также
-
функцию
withMonthклассаLocalDateTime,
которая изменяет месяц даты-времени -
функцию
withDayOfMonthклассаLocalDateTime,
которая изменяет день месяца -
функцию
plusYearsклассаLocalDateTime,
которая добавляет годы к дате-времени -
функцию
getYearклассаLocalDateTime,
которая возвращает год даты-времени