Перечисление Month
- java.lang.Object
-
- java.lang.Enum<Month>
-
- java.time.Month
- Все реализованные интерфейсы:
- Serializable, Comparable<Month>, TemporalAccessor, TemporalAdjuster
public enum Month extends Enum<Month> implements TemporalAccessor, TemporalAdjuster
Месяц года, например, 'Июль'.
Month — это перечисление, представляющее 12 месяцев года: январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь и декабрь.
В дополнение к текстовому имени каждого месяца года присвоено int значение. int значение соответствует общепринятому использованию и стандарту ISO-8601, от 1 (январь) до 12 (декабрь). Рекомендуется, чтобы приложения использовали перечисление вместо int значения для обеспечения ясности кода.
Не используйте ordinal() для получения числового представления Month. Используйте getValue() вместо этого.
Это перечисление представляет собой общее понятие, встречающееся во многих календарных системах. Таким образом, это перечисление может быть использовано любой календарной системой, в которой понятие месяца года определено точно так же, как в календарной системе ISO-8601.
- Требования к реализации:
- Это неизменяемое и потокобезопасное перечисление.
- С:
- 1.8
Постоянные значения перечисления
| Постоянная перечисления и описание |
|---|
APRIL Единственный экземпляр для месяца апреля с 30 днями. |
AUGUST Единственный экземпляр для месяца августа с 31 днем. |
DECEMBER Единственный экземпляр для месяца декабря с 31 днем. |
FEBRUARY Единственный экземпляр для месяца февраля с 28 днями, или 29 в високосном году. |
JANUARY Единственный экземпляр для месяца января с 31 днем. |
JULY Единственный экземпляр для месяца июля с 31 днем. |
JUNE Единственный экземпляр для месяца июня с 30 днями. |
MARCH Единственный экземпляр для месяца марта с 31 днем. |
MAY Единственный экземпляр для месяца мая с 31 днем. |
NOVEMBER Единственный экземпляр для месяца ноября с 30 днями. |
OCTOBER Единственный экземпляр для месяца октября с 31 днем. |
SEPTEMBER Единственный экземпляр для месяца сентября с 30 днями. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Temporal |
adjustInto(Temporal temporal) Настраивает указанный временной объект для текущего месяца. |
int |
firstDayOfYear(boolean leapYear) Получает день года, соответствующий первому дню текущего месяца. |
Month |
firstMonthOfQuarter() Получает месяц, соответствующий первому месяцу текущего квартала. |
static Month |
from(TemporalAccessor temporal) Получает экземпляр |
int |
get(TemporalField field) Получает значение указанного поля из текущего месяца в виде |
String |
getDisplayName(TextStyle style,
Locale locale) Получает текстовое представление, например, 'Янв' или 'Дек'. |
long |
getLong(TemporalField field) Получает значение указанного поля из текущего месяца в виде |
int |
getValue() Получает значение |
boolean |
isSupported(TemporalField field) Проверяет, поддерживается ли указанное поле. |
int |
length(boolean leapYear) Получает длительность текущего месяца в днях. |
int |
maxLength() Получает максимальную длительность текущего месяца в днях. |
int |
minLength() Получает минимальную длительность текущего месяца в днях. |
Month |
minus(long months) Возвращает месяц, который находится на указанное количество месяцев раньше текущего. |
static Month |
of(int month) Получает экземпляр |
Month |
plus(long months) Возвращает месяц, который находится на указанное количество кварталов позже текущего. |
<R> R |
query(TemporalQuery<R> query) Запрашивает текущий месяц с использованием указанного запроса. |
ValueRange |
range(TemporalField field) Получает диапазон допустимых значений для указанного поля. |
static Month |
valueOf(String name) Возвращает константу перечисления этого типа с заданным именем. |
static Month[] |
values() Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. |
Методы, унаследованные от класса java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf Методы, унаследованные от класса java.lang.Object
getClass, notify, notifyAll, wait, wait, wait Постоянные значения перечисления
Январь
public static final Month JANUARY
Единственный экземпляр для месяца января с 31 днём. Он имеет числовое значение 1.
Февраль
public static final Month FEBRUARY
Единственный экземпляр для месяца февраля с 28 днями или 29 в високосном году. Он имеет числовое значение 2.
Март
public static final Month MARCH
Единственный экземпляр для месяца марта с 31 днём. Он имеет числовое значение 3.
Апрель
public static final Month APRIL
Единственный экземпляр для месяца апреля с 30 днями. Он имеет числовое значение 4.
Май
public static final Month MAY
Единственный экземпляр для месяца мая с 31 днём. Он имеет числовое значение 5.
Июнь
public static final Month JUNE
Единственный экземпляр для месяца июня с 30 днями. Он имеет числовое значение 6.
Июль
public static final Month JULY
Единственный экземпляр для месяца июля с 31 днём. Он имеет числовое значение 7.
Август
public static final Month AUGUST
Единственный экземпляр для месяца августа с 31 днём. Он имеет числовое значение 8.
Сентябрь
public static final Month SEPTEMBER
Единственный экземпляр для месяца сентября с 30 днями. Он имеет числовое значение 9.
Октябрь
public static final Month OCTOBER
Единственный экземпляр для месяца октября с 31 днём. Он имеет числовое значение 10.
Ноябрь
public static final Month NOVEMBER
Единственный экземпляр для месяца ноября с 30 днями. Он имеет числовое значение 11.
Декабрь
public static final Month DECEMBER
Единственный экземпляр для месяца декабря с 31 днём. Он имеет числовое значение 12.
Методы
values
public static Month[] values()
Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод может быть использован для итерации по константам следующим образом:
for (Month c : Month.values()) System.out.println(c);
- Возвращает:
- массив, содержащий константы этого типа перечисления в порядке их объявления
valueOf
public static Month valueOf(String name)
Возвращает константу перечисления этого типа с указанным именем. Строка должна точно соответствовать идентификатору, используемому для объявления константы перечисления в этом типе. (Дополнительные пробелы не допускаются.)
- Параметры:
-
name- имя константы перечисления, которое нужно вернуть. - Возвращает:
- константу перечисления с указанным именем
- Исключения:
-
IllegalArgumentException- если в этом типе перечисления нет константы с указанным именем -
NullPointerException- если аргумент равен null
of
public static Month of(int month)
Получает экземпляр Month из значения int.
Month — это перечисление, представляющее 12 месяцев года. Этот фабричный метод позволяет получить перечисление по значению int. Значение int соответствует стандарту ISO-8601, от 1 (январь) до 12 (декабрь).
- Параметры:
-
month- месяц года, от 1 (январь) до 12 (декабрь) - Возвращает:
- месяц года, не null
- Исключения:
-
DateTimeException- если месяц года недействителен
from
public static Month from(TemporalAccessor temporal)
Получает экземпляр Month из временного объекта.
Этот метод получает месяц на основе указанного временного объекта. TemporalAccessor представляет произвольное множество информации о дате и времени, которое этот фабричный метод преобразует в экземпляр Month.
Преобразование извлекает поле MONTH_OF_YEAR. Извлечение разрешается только в том случае, если временной объект имеет хронологию ISO или может быть преобразован в LocalDate.
Этот метод соответствует сигнатуре функционального интерфейса TemporalQuery, что позволяет использовать его как запрос с помощью ссылки на метод, Month::from.
- Параметры:
-
temporal- временной объект для преобразования, не null - Возвращает:
- месяц года, не null
- Исключения:
-
DateTimeException- если невозможно преобразовать воMonth
getValue
public int getValue()
Возвращает значение месяца int.
Значения пронумерованы в соответствии со стандартом ISO-8601, от 1 (январь) до 12 (декабрь).
- Возвращает:
- месяц года, от 1 (январь) до 12 (декабрь)
getDisplayName
public String getDisplayName(TextStyle style,
Locale locale) Получает текстовое представление, например, 'Янв' или 'Дек'.
Возвращает текстовое имя месяца, подходящее для отображения пользователю. Параметры контролируют стиль возвращаемого текста и локаль.
Если текстовое отображение не найдено, возвращается значение numeric value.
- Параметры:
-
style- требуемая длина текста, не null -
locale- используемая локаль, не null - Возвращает:
- текстовое значение месяца, не null
isSupported
public boolean isSupported(TemporalField field)
Проверяет, поддерживается ли указанное поле.
Проверяет, можно ли запросить у этого месяца указанное поле. Если false, вызов методов range и get вызовет исключение.
Если поле равно MONTH_OF_YEAR, то этот метод возвращает true. Все другие ChronoField экземпляры вернут false.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.isSupportedBy(TemporalAccessor) с аргументом this. Поддерживается ли поле, определяется полем.
- Определено в:
-
isSupportedв интерфейсеTemporalAccessor - Параметры:
-
field- проверяемое поле, null возвращает false - Возвращает:
- true, если поле поддерживается этим месяцем, false — в противном случае
range
public ValueRange range(TemporalField field)
Получает диапазон допустимых значений для указанного поля.
Объект диапазона выражает минимальное и максимальное допустимые значения для поля. Этот месяц используется для повышения точности возвращаемого диапазона. Если диапазон вернуть невозможно (например, поле не поддерживается или по какой-либо другой причине), выбрасывается исключение.
Если поле равно MONTH_OF_YEAR, то будет возвращен диапазон месяца от 1 до 12. Все остальные ChronoField экземпляры выбросят UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.rangeRefinedBy(TemporalAccessor) с аргументом this. Возможен ли получение диапазона определяется полем.
- Указано в:
-
rangeв интерфейсеTemporalAccessor - Параметры:
-
field- поле для запроса диапазона, не null - Возвращает:
- диапазон допустимых значений для поля, не null
- Выбрасывает:
-
DateTimeException- если диапазон для поля получить невозможно -
UnsupportedTemporalTypeException- если поле не поддерживается
get
public int get(TemporalField field)
Возвращает значение указанного поля из этого месяца как int.
Этот запрос выполняется для этого месяца, чтобы получить значение указанного поля. Возвращаемое значение всегда будет находиться в пределах допустимого диапазона значений для поля. Если возвращение значения невозможно, поскольку поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле равно MONTH_OF_YEAR, то будет возвращено значение месяца от 1 до 12. Все остальные ChronoField экземпляры будут выбрасывать исключение UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor) с this в качестве аргумента. Возможность получения значения и то, что оно представляет, определяется полем.
- Указано в:
-
getв интерфейсеTemporalAccessor - Параметры:
-
field- поле для получения, не null - Возвращает:
- значение поля, находящееся в пределах допустимого диапазона значений
- Выбрасывает:
-
DateTimeException- если значение для поля получить невозможно или значение находится вне допустимого диапазона значений для поля -
UnsupportedTemporalTypeException- если поле не поддерживается или диапазон значений превышаетint -
ArithmeticException- если происходит переполнение численного типа
getLong
public long getLong(TemporalField field)
Получает значение указанного поля из этого месяца года как long.
Это запрос значения указанного поля для этого месяца. Если невозможно вернуть значение, потому что поле не поддерживается или по какой-либо другой причине, выбрасывается исключение.
Если поле является MONTH_OF_YEAR, то будет возвращено значение месяца года от 1 до 12. Все остальные ChronoField экземпляры будут выбрасывать UnsupportedTemporalTypeException.
Если поле не является ChronoField, то результат этого метода получается путем вызова TemporalField.getFrom(TemporalAccessor), передав this в качестве аргумента. Возможность получения значения и то, что представляет собой значение, определяется полем.
- Определено в:
-
getLongв интерфейсеTemporalAccessor - Параметры:
-
field- поле для получения, не null - Возвращает:
- значение для поля
- Исключения:
-
DateTimeException- если значение для поля получить невозможно -
UnsupportedTemporalTypeException- если поле не поддерживается -
ArithmeticException- если происходит переполнение числового типа
plus
public Month plus(long months)
Возвращает месяц года, который является указанным числом кварталов после этого.
Вычисление переходит с конца года с декабря на январь. Указанный период может быть отрицательным.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
months- количество месяцев для добавления, положительное или отрицательное - Возвращает:
- результирующий месяц, не null
minus
public Month minus(long months)
Возвращает месяц года, который является указанным числом месяцев до этого.
Вычисление переходит с начала года с января на декабрь. Указанный период может быть отрицательным.
Этот экземпляр неизменяемый и не затрагивается этим вызовом метода.
- Параметры:
-
months- количество месяцев для вычитания, положительное или отрицательное - Возвращает:
- результирующий месяц, не null
length
public int length(boolean leapYear)
Получает длительность этого месяца в днях.
Это принимает флаг, чтобы определить, нужно ли вернуть длительность для високосного года или нет.
Февраль имеет 28 дней в обычном году и 29 дней в високосном. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.
- Параметры:
-
leapYear- true, если длина требуется для високосного года - Возвращает:
- длительность этого месяца в днях, от 28 до 31
minLength
public int minLength()
Получает минимальную длину текущего месяца в днях.
Февраль имеет минимальную длину 28 дней. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.
- Возвращает:
- минимальную длину текущего месяца в днях, от 28 до 31
maxLength
public int maxLength()
Получает максимальную длину текущего месяца в днях.
Февраль имеет максимальную длину 29 дней. Апрель, июнь, сентябрь и ноябрь имеют 30 дней. Все остальные месяцы имеют 31 день.
- Возвращает:
- максимальную длину текущего месяца в днях, от 29 до 31
firstDayOfYear
public int firstDayOfYear(boolean leapYear)
Получает день года, соответствующий первому дню этого месяца.
Возвращает день года, с которого начинается этот месяц, используя флаг високосного года для определения длины февраля.
- Параметры:
-
leapYear- true, если требуется длина для високосного года - Возвращает:
- день года, соответствующий первому дню этого месяца, от 1 до 336
firstMonthOfQuarter
public Month firstMonthOfQuarter()
Получает месяц, соответствующий первому месяцу этого квартала.
Год можно разделить на четыре квартала. Этот метод возвращает первый месяц квартала для базового месяца. Январь, февраль и март возвращают январь. Апрель, май и июнь возвращают апрель. Июль, август и сентябрь возвращают июль. Октябрь, ноябрь и декабрь возвращают октябрь.
- Возвращает:
- первый месяц квартала, соответствующий этому месяцу, не null
query
public <R> R query(TemporalQuery<R> query)
Запрашивает этот месяц года, используя указанный запрос.
Запрашивает этот месяц года, используя указанный объект стратегии запроса. Объект TemporalQuery определяет логику, используемую для получения результата. Прочитайте документацию запроса, чтобы понять, каким будет результат этого метода.
Результат этого метода получается путем вызова метода TemporalQuery.queryFrom(TemporalAccessor) на указанном запросе, передавая this в качестве аргумента.
- Указано в:
-
queryв интерфейсеTemporalAccessor - Параметры типа:
-
R- тип результата - Параметры:
-
query- запрос для вызова, не null - Возвращает:
- результат запроса, может быть null (определяется запросом)
- Выбрасывает:
-
DateTimeException- если запрос не может быть выполнен (определяется запросом) -
ArithmeticException- если произошел переполнение числового типа (определяется запросом)
adjustInto
public Temporal adjustInto(Temporal temporal)
Настраивает указанный временной объект для того, чтобы иметь этот месяц года.
Возвращает временной объект того же наблюдаемого типа, что и входной, с месяцем года, изменённым на тот же, что и у этого.
Настройка эквивалентна использованию Temporal.with(TemporalField, long) , передавая ChronoField.MONTH_OF_YEAR в качестве поля. Если указанный временной объект не использует ISO-календарь, то выбрасывается DateTimeException .
В большинстве случаев более понятно использовать обратный порядок вызова, используя Temporal.with(TemporalAdjuster):
// these two lines are equivalent, but the second approach is recommended temporal = thisMonth.adjustInto(temporal); temporal = temporal.with(thisMonth);
Например, для даты в мае, выводом будут:
dateInMay.with(JANUARY); // four months earlier dateInMay.with(APRIL); // one months earlier dateInMay.with(MAY); // same date dateInMay.with(JUNE); // one month later dateInMay.with(DECEMBER); // seven months later
Этот экземпляр неизменяемый и не изменяется этим вызовом метода.
- Указано в:
-
adjustIntoв интерфейсеTemporalAdjuster - Параметры:
-
temporal- целевой объект для настройки, не null - Возвращает:
- отрегулированный объект, не null
- Выбрасывает:
-
DateTimeException- если настройка невозможна -
ArithmeticException- если произошло переполнение числового типа
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.