Функция withDayOfMonth

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

Импорт

kotlinimport java.time.LocalDateTime

Синтаксис

kotlinfun withDayOfMonth(dayOfMonth: Int): LocalDateTime

Пример

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

kotlinval dateTime = LocalDateTime.parse("2025-03-10T12:30:45")
val result = dateTime.withDayOfMonth(15)
println(result)

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

kotlinString "2025-03-15T12:30:45"

Пример

Установим последний день февраля для високосного 2025 года:

kotlinval dateTime = LocalDateTime.of(2025, 2, 15, 10, 30)
val result = dateTime.withDayOfMonth(28)
println(result)

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

kotlinString "2025-02-28T10:30:00"

Пример

Попробуем установить недопустимое значение дня месяца:

kotlinval dateTime = LocalDateTime.parse("2025-04-10T08:15:30")

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

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

kotlinString "Error: Invalid date 'APRIL 31'"

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

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