Функция withMonth

Функция withMonth класса LocalDateTime возвращает копию исходного объекта с измененным значением месяца. В параметр мы передаем числовое значение месяца от 1 до 12.

Импорт

kotlinimport java.time.LocalDateTime

Синтаксис

kotlinfun withMonth(month: Int): LocalDateTime

Пример

Изменим месяц в дате "2025-06-15T10:30:00" на декабрь:

kotlinval dateTime = LocalDateTime.parse("2025-06-15T10:30:00")
val newDateTime = dateTime.withMonth(12)
println(newDateTime)

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

kotlinString "2025-12-15T10:30:00"

Пример

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

kotlinval dateTime = LocalDateTime.of(2025, 3, 31, 14, 30)
val febDateTime = dateTime.withMonth(2)
println(febDateTime)

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

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

Пример

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

kotlinval original = LocalDateTime.parse("2025-04-10T08:45:00")
val modified = original.withMonth(9)

val year = modified.year
val month = modified.monthValue
val day = modified.dayOfMonth
val hour = modified.hour

println("Year: $year, Month: $month, Day: $day, Hour: $hour")

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

kotlinString "Year: 2025, Month: 9, Day: 10, Hour: 8"

Пример

Последовательно изменим несколько компонентов даты:

kotlinval dt = LocalDateTime.parse("2025-01-20T12:00:00")
val result = dt.withMonth(7).withDayOfMonth(15).withHour(18)
println(result)

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

kotlinString "2025-07-15T18:00:00"

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

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