Класс 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,
который используется для форматирования и парсинга дат