Функция withDayOfMonth

Функция withDayOfMonth класса LocalDate возвращает копию исходной даты с измененным днем месяца. В параметр мы передаем новое значение дня месяца от 1 до 31 (в зависимости от месяца и високосности года). Если передано недопустимое значение, будет выброшено исключение DateTimeException.

Импорт

kotlinimport java.time.LocalDate
import java.time.DateTimeException

Синтаксис

kotlinfun withDayOfMonth(dayOfMonth: Int): LocalDate

Пример

Изменим день месяца для даты "2025-03-15" на 25:

kotlinval originalDate = LocalDate.of(2025, 3, 15)
val newDate = originalDate.withDayOfMonth(25)
println(newDate)

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

kotlinString "2025-03-25"

Пример

Изменим день месяца на последний день февраля 2025 года:

kotlinval date = LocalDate.of(2025, 2, 15)
val lastDayOfFebruary = date.withDayOfMonth(28)
println(lastDayOfFebruary)

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

kotlinString "2025-02-28"

Пример

Попробуем установить недопустимый день месяца и обработаем исключение:

kotlinval date = LocalDate.of(2025, 4, 10)

try {
  val invalidDate = date.withDayOfMonth(31)
  println(invalidDate)
} catch (e: DateTimeException) {
  println("Error: " + e.message)
}

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

kotlinString "Error: Invalid date 'APRIL 31'"

Пример

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

kotlinval date = LocalDate.now()
val modifiedDate = date
  .withYear(2025)
  .withMonth(12)
  .withDayOfMonth(31)
println(modifiedDate)

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

kotlinString "2025-12-31"

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

  • функцию withYear класса LocalDate,
    которая изменяет год даты
  • функцию withMonth класса LocalDate,
    которая изменяет месяц даты
  • функцию getDayOfMonth класса LocalDate,
    которая возвращает день месяца
  • функцию of класса LocalDate,
    которая создает дату из компонентов