Функция withYear
Функция withYear
класса LocalDate
возвращает копию исходной даты с измененным годом.
В параметр мы передаем целое число - новый год. Если полученная дата будет невалидной (например, 29 февраля в невисокосном году), будет выброшено исключение.
Импорт
import java.time.LocalDate
Синтаксис
fun withYear(year: Int): LocalDate
Пример
Изменим год даты "2025-06-15"
на 2028
:
val originalDate = LocalDate.of(2025, 6, 15)
val newDate = originalDate.withYear(2028)
println(newDate)
Результат выполнения кода:
String "2028-06-15"
Пример
Попробуем установить невалидную дату - 29 февраля в невисокосном году:
val date = LocalDate.of(2024, 2, 29)
try {
val invalidDate = date.withYear(2025)
println(invalidDate)
} catch (e: Exception) {
println("Error: " + e.message)
}
Результат выполнения кода:
String "Error: Invalid date 'February 29' as '2025' is not a leap year"
Пример
Изменим год несколько раз подряд:
val date = LocalDate.of(2025, 3, 10)
val result = date.withYear(2030).withYear(2015)
println(result)
Результат выполнения кода:
String "2015-03-10"
Пример
Изменим год и проверим другие компоненты даты:
val originalDate = LocalDate.of(2025, 12, 31)
val modifiedDate = originalDate.withYear(2030)
println("Original: " + originalDate)
println("Modified: " + modifiedDate)
println("Month: " + modifiedDate.monthValue)
println("Day: " + modifiedDate.dayOfMonth)
Результат выполнения кода:
String "Original: 2025-12-31"
String "Modified: 2030-12-31"
String "Month: 12"
String "Day: 31"
Смотрите также
-
функцию
withMonth
классаLocalDate
,
которая изменяет месяц даты -
функцию
withDayOfMonth
классаLocalDate
,
которая изменяет день месяца -
функцию
getYear
классаLocalDate
,
которая возвращает год даты -
функцию
withYear
классаLocalDateTime
,
которая изменяет год даты-времени