Функция atDay

Функция atDay класса YearMonth создает объект LocalDate, комбинируя текущие год и месяц с указанным днем месяца. В единственный параметр мы передаем число дня месяца, которое должно быть в допустимом диапазоне для данного месяца.

Импорт

kotlinimport java.time.YearMonth
import java.time.LocalDate

Синтаксис

kotlinfun atDay(dayOfMonth: Int): LocalDate

Пример

Создадим объект YearMonth для декабря 2025 года и получим дату 31 декабря:

kotlinval yearMonth = YearMonth.of(2025, 12)
val date = yearMonth.atDay(31)
println(date)

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

kotlinString "2025-12-31"

Пример

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

kotlinval yearMonth = YearMonth.of(2025, 7)
val firstDay = yearMonth.atDay(1)
println(firstDay)

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

kotlinString "2025-07-01"

Пример

Используем atDay вместе с lengthOfMonth для получения последнего дня месяца:

kotlinval yearMonth = YearMonth.of(2025, 2)
val lastDay = yearMonth.atDay(yearMonth.lengthOfMonth())
println(lastDay)

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

kotlinString "2025-02-28"

Пример

Обработаем исключение при передаче недопустимого дня месяца:

kotlinval yearMonth = YearMonth.of(2025, 4)

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

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

kotlinString "Error: Invalid date 'APRIL 31'"

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

  • функцию atEndOfMonth класса YearMonth,
    которая возвращает последний день месяца
  • функцию of класса Year,
    которая создает объект года
  • функцию of класса LocalDate,
    которая создает дату из компонентов
  • функцию now класса YearMonth,
    которая возвращает текущий год и месяц