Класс 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"