Класс YearMonth

Класс YearMonth представляет комбинацию года и месяца без информации о дне и времени в календарной системе ISO-8601. Он предоставляет методы для получения информации о годе и месяце, проверки високосного года, получения длины месяца, а также для выполнения арифметических операций с годами и месяцами.

Импорт

kotlinimport java.time.YearMonth

Синтаксис создания

kotlinfun now(): YearMonth
kotlinfun now(zone: ZoneId): YearMonth
kotlinfun of(year: Int, month: Int): YearMonth
kotlinfun of(year: Int, month: Month): YearMonth
kotlinfun parse(text: CharSequence): YearMonth
kotlinfun parse(text: CharSequence, formatter: DateTimeFormatter): YearMonth

Пример

Создадим объект YearMonth для текущего года и месяца:

kotlinval currentYearMonth = YearMonth.now()
println(currentYearMonth)

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

kotlinString "2025-09"

Пример

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

kotlinval yearMonth = YearMonth.of(2025, 12)
println(yearMonth)

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

kotlinString "2025-12"

Пример

Преобразуем строку "2025-07" в объект YearMonth:

kotlinval yearMonth = YearMonth.parse("2025-07")
println(yearMonth)

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

kotlinString "2025-07"

Синтаксис методов

kotlinfun getYear(): Int
kotlinfun getMonthValue(): Int
kotlinfun getMonth(): Month
kotlinfun isLeapYear(): Boolean
kotlinfun lengthOfMonth(): Int
kotlinfun lengthOfYear(): Int
kotlinfun plusYears(yearsToAdd: Long): YearMonth
kotlinfun plusMonths(monthsToAdd: Long): YearMonth
kotlinfun minusYears(yearsToSubtract: Long): YearMonth
kotlinfun minusMonths(monthsToSubtract: Long): YearMonth
kotlinfun withYear(year: Int): YearMonth
kotlinfun withMonth(month: Int): YearMonth
kotlinfun atDay(dayOfMonth: Int): LocalDate
kotlinfun atEndOfMonth(): LocalDate
kotlinfun isAfter(other: YearMonth): Boolean
kotlinfun isBefore(other: YearMonth): Boolean

Пример

Получим информацию о годе и месяце:

kotlinval yearMonth = YearMonth.of(2025, 7)
val year = yearMonth.year
val month = yearMonth.monthValue

println("Year: $year, Month: $month")

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

kotlinString "Year: 2025, Month: 7"

Пример

Проверим, является ли 2024 год високосным:

kotlinval yearMonth = YearMonth.of(2024, 1)
val isLeap = yearMonth.isLeapYear()

println("Is leap year: $isLeap")

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

kotlinString "Is leap year: true"

Пример

Получим длину февраля 2025 года:

kotlinval yearMonth = YearMonth.of(2025, 2)
val length = yearMonth.lengthOfMonth()

println("Length of month: $length")

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

kotlinString "Length of month: 28"

Пример

Добавим 3 месяца к текущей дате:

kotlinval current = YearMonth.now()
val future = current.plusMonths(3)

println("Current: $current, Future: $future")

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

kotlinString "Current: 2025-09, Future: 2025-12"

Пример

Создадим объект LocalDate для первого дня месяца:

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

println("First day: $firstDay")

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

kotlinString "First day: 2025-12-01"

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

  • класс LocalDate,
    который представляет дату с днем, месяцем и годом
  • класс Month,
    который представляет месяц года
  • класс Year,
    который представляет год
  • класс DateTimeFormatter,
    который используется для форматирования и парсинга дат