Функция withDayOfMonth
Функция withDayOfMonth класса LocalDate возвращает копию исходной даты с измененным днем месяца.
В параметр мы передаем новое значение дня месяца от 1 до 31 (в зависимости от месяца и високосности года).
Если передано недопустимое значение, будет выброшено исключение DateTimeException.
Импорт
import java.time.LocalDate
import java.time.DateTimeException
Синтаксис
fun withDayOfMonth(dayOfMonth: Int): LocalDate
Пример
Изменим день месяца для даты "2025-03-15" на 25:
val originalDate = LocalDate.of(2025, 3, 15)
val newDate = originalDate.withDayOfMonth(25)
println(newDate)
Результат выполнения кода:
String "2025-03-25"
Пример
Изменим день месяца на последний день февраля 2025 года:
val date = LocalDate.of(2025, 2, 15)
val lastDayOfFebruary = date.withDayOfMonth(28)
println(lastDayOfFebruary)
Результат выполнения кода:
String "2025-02-28"
Пример
Попробуем установить недопустимый день месяца и обработаем исключение:
val date = LocalDate.of(2025, 4, 10)
try {
val invalidDate = date.withDayOfMonth(31)
println(invalidDate)
} catch (e: DateTimeException) {
println("Error: " + e.message)
}
Результат выполнения кода:
String "Error: Invalid date 'APRIL 31'"
Пример
Используем withDayOfMonth вместе с другими методами для создания сложной даты:
val date = LocalDate.now()
val modifiedDate = date
.withYear(2025)
.withMonth(12)
.withDayOfMonth(31)
println(modifiedDate)
Результат выполнения кода:
String "2025-12-31"
Смотрите также
-
функцию
withYearклассаLocalDate,
которая изменяет год даты -
функцию
withMonthклассаLocalDate,
которая изменяет месяц даты -
функцию
getDayOfMonthклассаLocalDate,
которая возвращает день месяца -
функцию
ofклассаLocalDate,
которая создает дату из компонентов