Функция withDayOfMonth

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

Импорт

kotlinimport java.time.MonthDay
import java.time.DateTimeException

Синтаксис

kotlinfun withDayOfMonth(dayOfMonth: Int): MonthDay

Пример

Создадим объект MonthDay и изменим день месяца с 15 на 25:

kotlinval original = MonthDay.of(12, 15)
val modified = original.withDayOfMonth(25)
println("Original: $original, Modified: $modified")

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

kotlinString "Original: --12-15, Modified: --12-25"

Пример

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

kotlintry {
  val febMonthDay = MonthDay.of(2, 15)
  val invalid = febMonthDay.withDayOfMonth(30)
  println(invalid)
} catch (e: DateTimeException) {
  println("Error: " + e.message)
}

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

kotlinString "Error: Invalid date 'FEBRUARY 30'"

Пример

Использование цепочки методов для изменения месяца и дня:

kotlinval monthDay = MonthDay.of(6, 10)
val result = monthDay.withMonth(12).withDayOfMonth(31)
println(result)

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

kotlinString "--12-31"

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

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