Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
788 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Класс YearMonth

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

Импорт

import java.time.YearMonth

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

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

Пример

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

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

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

String "2025-09"

Пример

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

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

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

String "2025-12"

Пример

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

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

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

String "2025-07"

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

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

Пример

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

val yearMonth = YearMonth.of(2025, 7) val year = yearMonth.year val month = yearMonth.monthValue println("Year: $year, Month: $month")

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

String "Year: 2025, Month: 7"

Пример

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

val yearMonth = YearMonth.of(2024, 1) val isLeap = yearMonth.isLeapYear() println("Is leap year: $isLeap")

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

String "Is leap year: true"

Пример

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

val yearMonth = YearMonth.of(2025, 2) val length = yearMonth.lengthOfMonth() println("Length of month: $length")

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

String "Length of month: 28"

Пример

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

val current = YearMonth.now() val future = current.plusMonths(3) println("Current: $current, Future: $future")

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

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

Пример

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

val yearMonth = YearMonth.of(2025, 12) val firstDay = yearMonth.atDay(1) println("First day: $firstDay")

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

String "First day: 2025-12-01"

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

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