АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
748 of 1310 menu
Бесплатный тренинг по PHP: форматирование строк. Начало 25 сентября. Жми для записи!

Класс Month

Класс Month представляет собой перечисление месяцев года от 1 (январь) до 12 (декабрь). Каждый месяц имеет числовое значение, название и предоставляет методы для получения информации о количестве дней в месяце, проверки високосного года, получения первого дня года и другие полезные методы.

Импорт

import java.time.Month

Синтаксис

// Получение месяца по числовому значению fun of(month: Int): Month // Получение месяца из временного объекта fun from(temporal: TemporalAccessor): Month // Получение числового значения месяца fun getValue(): Int // Получение названия месяца fun name(): String // Получение количества дней в месяце с учетом високосного года fun length(leapYear: Boolean): Int // Получение минимального количества дней в месяце fun minLength(): Int // Получение максимального количества дней в месяце fun maxLength(): Int // Получение первого дня года для месяца fun firstDayOfYear(leapYear: Boolean): Int // Получение первого месяца квартала fun firstMonthOfQuarter(): Month // Прибавление месяцев fun plus(months: Long): Month // Вычитание месяцев fun minus(months: Long): Month

Пример

Получим месяц по числовому значению и выведем его свойства:

val month = Month.of(7) val monthValue = month.getValue() val monthName = month.name() val length = month.length(false) println("Month: $monthName, Value: $monthValue, Days: $length")

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

String "Month: JULY, Value: 7, Days: 31"

Пример

Получим количество дней в феврале для високосного и невисокосного года:

val february = Month.FEBRUARY val lengthNormal = february.length(false) val lengthLeap = february.length(true) println("February normal: $lengthNormal, leap: $lengthLeap")

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

String "February normal: 28, leap: 29"

Пример

Получим первый день года для каждого месяца:

for (month in Month.values()) { val firstDay = month.firstDayOfYear(false) println("${month.name(): first day $firstDay}") }

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

String "JANUARY: first day 1" String "FEBRUARY: first day 32" String "MARCH: first day 60" String "APRIL: first day 91" String "MAY: first day 121" String "JUNE: first day 152" String "JULY: first day 182" String "AUGUST: first day 213" String "SEPTEMBER: first day 244" String "OCTOBER: first day 274" String "NOVEMBER: first day 305" String "DECEMBER: first day 335"

Пример

Используем методы plus и minus для работы с месяцами:

val january = Month.JANUARY val march = january.plus(2) val november = january.minus(2) println("January + 2 = ${march.name()}") println("January - 2 = ${november.name()}")

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

String "January + 2 = MARCH" String "January - 2 = NOVEMBER"

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

  • класс LocalDate,
    который представляет дату без времени
  • метод getMonth класса LocalDate,
    который возвращает месяц из даты
  • метод withMonth класса LocalDate,
    который устанавливает месяц в дате
  • класс YearMonth,
    который представляет год и месяц