Класс Calendar
- Все реализуемые интерфейсы:
Serializable, Cloneable, Comparable<Calendar>
- Прямые известные подклассы:
GregorianCalendar
public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable<Calendar>
Calendar является абстрактным классом, предоставляющим методы для преобразования между конкретным моментом времени и набором calendar fields, таких как YEAR, MONTH, DAY_OF_MONTH, HOUR и так далее, а также для работы с полями календаря, например для получения даты следующей недели. Момент времени может быть представлен значением в миллисекундах, равным смещению относительно эпохи — 1 января 1970 года, 00:00:00.000 GMT (григорианский календарь). Класс также предоставляет дополнительные поля и методы для реализации конкретной календарной системы вне пакета. Эти поля и методы определены как protected.
Как и другие классы, зависящие от локали, Calendar предоставляет метод класса getInstance для получения универсального объекта этого типа. Метод getInstance класса Calendar возвращает объект Calendar, поля календаря которого инициализированы текущими датой и временем:
Calendar rightNow = Calendar.getInstance();
Объект Calendar может предоставить все значения полей календаря, необходимые для реализации форматирования даты и времени для конкретного языка и стиля календаря (например, японский григорианский или японский традиционный). Calendar определяет диапазон значений, возвращаемых некоторыми полями календаря, а также их смысл. Например, первый месяц календарной системы во всех календарях имеет значение MONTH ==
JANUARY. Другие значения определяются конкретным подклассом, например ERA. Подробности см. в документации отдельных полей и подклассов.
Получение и установка значений полей календаря
Значения полей календаря можно установить, вызвав методы set. Значения полей, установленные в Calendar, не интерпретируются до тех пор, пока не потребуется вычислить его значение времени (миллисекунды от эпохи) или значения полей календаря. Такой расчет выполняется при вызове get, getTimeInMillis, getTime, add и roll. Если не указано иное, любой метод Calendar, содержащий параметр int field, выбрасывает ArrayIndexOutOfBoundsException, если указанное поле выходит за пределы диапазона (field < 0 || field >= FIELD_COUNT).
Допустимость некорректных значений
Calendar поддерживает два режима интерпретации полей календаря: нестрогий и строгий. В нестрогом режиме Calendar принимает более широкий диапазон значений полей календаря, чем возвращает. При пересчете Calendar значений полей календаря для возврата методом get() все поля календаря нормализуются. Например, нестрогий GregorianCalendar интерпретирует MONTH == JANUARY, DAY_OF_MONTH == 32 как 1 февраля.
В строгом режиме Calendar выбрасывает исключение, если значения его полей календаря противоречат друг другу. Например, GregorianCalendar всегда возвращает значения DAY_OF_MONTH от 1 до количества дней в месяце. Строгий GregorianCalendar выбрасывает исключение при вычислении времени или значений полей календаря, если было установлено значение поля, выходящее за допустимый диапазон.
Первая неделя
Calendar определяет семидневную неделю, специфичную для локали, с помощью двух параметров: первого дня недели и минимального количества дней в первой неделе (от 1 до 7). Эти значения берутся из данных ресурсов локали или из самой локали при создании Calendar. Если указанная локаль содержит расширения Unicode "fw" и/или "rg" , первый день недели определяется с учетом этих расширений. Если указаны оба расширения — "fw" и "rg", значение расширения "fw" имеет приоритет над значением, неявно заданным расширением "rg". Эти значения также можно задать явно с помощью методов их установки. При установке или получении полей WEEK_OF_MONTH или WEEK_OF_YEAR Calendar должен определить первую неделю месяца или года в качестве точки отсчета. Первая неделя месяца или года — это самый ранний семидневный период, начинающийся в getFirstDayOfWeek() и содержащий не менее getMinimalDaysInFirstWeek() дней этого месяца или года. Недели с номерами ..., -1, 0 предшествуют первой неделе; за ней следуют недели с номерами 2, 3, ... Обратите внимание, что нормализованная нумерация, возвращаемая методом get(), может отличаться. Например, конкретный подкласс Calendar может обозначать неделю перед неделей 1 года как неделю n предыдущего года.
Разрешение значений полей календаря
При вычислении даты и времени по полям календаря может оказаться недостаточно данных (например, указаны только год и месяц, но не день месяца) или данные могут противоречить друг другу (например, вторник, 15 июля 1996 года (григорианский календарь): на самом деле 15 июля 1996 года было понедельником).Calendar разрешает значения полей календаря, чтобы определить дату и время, следующим образом. Если значения полей календаря конфликтуют, Calendar отдает приоритет полям календаря, которые были установлены позднее. Ниже приведены используемые по умолчанию комбинации полей календаря. Будет использоваться комбинация, заданная последней, что определяется временем установки последнего отдельного поля.
Для полей времени суток:YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
Если значения некоторых полей календаря не были установлены в выбранной комбинации полей, Calendar использует их значения по умолчанию. Значение по умолчанию для каждого поля может различаться в разных конкретных календарных системах. Например, в GregorianCalendar значения полей по умолчанию совпадают со значениями на начало эпохи: то есть YEAR = 1970, MONTH =
JANUARY, DAY_OF_MONTH = 1 и т. д.
Примечание: В интерпретации некоторых отдельных моментов времени возможны неоднозначности; они разрешаются следующим образом:
- 23:59 — последняя минута дня, а 00:00 — первая минута следующего дня. Поэтому 23:59 31 декабря 1999 года < 00:00 1 января 2000 года < 00:01 1 января 2000 года.
- Хотя исторически это не совсем точно, полночь также относится к «am», а полдень — к «pm», поэтому в один и тот же день 12:00 am (полночь) < 12:01 am, а 12:00 pm (полдень) < 12:01 pm
Строки форматов даты и времени не входят в определение календаря, поскольку пользователь должен иметь возможность изменять или переопределять их во время выполнения программы. Для форматирования дат используйте DateFormat.
Изменение полей
Поля календаря можно изменить тремя методами:set(), add() и roll(). set(f, value) изменяет поле календаря f на value. Кроме того, он устанавливает внутреннюю переменную-член, указывающую, что поле календаря f было изменено. Хотя поле календаря f изменяется немедленно, значение времени календаря в миллисекундах пересчитывается только при следующем вызове get(), getTime(), getTimeInMillis(), add() или roll(). Таким образом, многократные вызовы set() не приводят к лишним повторным вычислениям. В результате изменения поля календаря с помощью set() могут измениться и другие поля календаря — в зависимости от поля, его значения и календарной системы. Кроме того, после пересчета полей календаря get(f) не обязательно вернет value, установленное вызовом метода set. Конкретное поведение определяется конкретным классом календаря.
Пример: Рассмотрим объект GregorianCalendar, изначально установленный на 31 августа 1999 года. Вызов set(Calendar.MONTH,
Calendar.SEPTEMBER) устанавливает дату на 31 сентября 1999 года. Это временное внутреннее представление, которое при последующем вызове getTime() разрешается в 1 октября 1999 года. Однако вызов set(Calendar.DAY_OF_MONTH, 30) до вызова getTime() устанавливает дату на 30 сентября 1999 года, поскольку после самого вызова set() пересчет не выполняется.
add(f, delta) прибавляет delta к полю f. Это эквивалентно вызову set(f,
get(f) + delta) с двумя дополнительными правилами:
Правило сложения 1. Разность между значением поля
fпосле вызова и значением поляfдо вызова равнаdeltaс учетом возможного переполнения поляf. Переполнение происходит, когда значение поля выходит за его диапазон, в результате чего значение следующего по старшинству поля увеличивается или уменьшается, а значение поля возвращается в допустимый диапазон.Правило сложения 2. Если предполагается, что младшее поле не изменится, но из-за изменения его минимального или максимального значения после изменения поля
fлибо из-за других ограничений, например изменения смещения часового пояса, оно не может сохранить прежнее значение, его значение корректируется так, чтобы быть как можно ближе к ожидаемому. Младшее поле соответствует меньшей единице времени.HOUR— поле младше, чемDAY_OF_MONTH. Значения младших полей, которые не должны оставаться неизменными, не корректируются. Календарная система определяет, какие поля должны оставаться неизменными.
Кроме того, в отличие от set(), add() немедленно пересчитывает миллисекунды календаря и все поля.
Пример: Рассмотрим объект GregorianCalendar, изначально установленный на 31 августа 1999 года. Вызов add(Calendar.MONTH,
13) устанавливает календарь на 30 сентября 2000 года. Правило сложения 1 устанавливает поле MONTH на сентябрь, поскольку прибавление 13 месяцев к августу дает сентябрь следующего года. Поскольку в сентябре DAY_OF_MONTH не может быть равен 31 в GregorianCalendar, правило сложения 2 устанавливает DAY_OF_MONTH на 30 — ближайшее допустимое значение. Хотя DAY_OF_WEEK является младшим полем, правило 2 его не корректирует, поскольку в GregorianCalendar при изменении месяца оно должно изменяться. В високосные годы при корректировке учитывается дополнительный день в феврале, чтобы число месяца оставалось допустимым для этого года.
roll(f, delta) прибавляет delta к полю f, не изменяя старшие поля. Это эквивалентно вызову add(f, delta) со следующим дополнительным правилом:
Правило циклического изменения. После вызова старшие поля не изменяются. Старшее поле соответствует большей единице времени.
DAY_OF_MONTH— поле старше, чемHOUR.
Пример: см. GregorianCalendar.roll(int, int).
Модель использования. Чтобы пояснить поведение add() и roll(), рассмотрим компонент пользовательского интерфейса с кнопками увеличения и уменьшения месяца, дня и года и лежащим в его основе объектом GregorianCalendar. Если интерфейс показывает 31 января 1999 года и пользователь нажимает кнопку увеличения месяца, какую дату следует показать? Если базовая реализация использует set(), она может показать 3 марта 1999 года. Лучше было бы показать 28 февраля 1999 года. Более того, если пользователь снова нажмет кнопку увеличения месяца, должна отображаться дата 31 марта 1999 года, а не 28 марта 1999 года. Сохранив исходную дату и используя add() или roll() в зависимости от того, должны ли изменяться старшие поля, пользовательский интерфейс сможет работать так, как интуитивно ожидает большинство пользователей.
- Начиная с:
- 1.1
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
Calendar.Builder |
Calendar.Builder используется для создания Calendar из различных параметров даты и времени. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
ALL_STYLES |
Спецификатор стиля для getDisplayNames, указывающий на названия во всех стилях, например «Январь» и «Янв». |
static final int |
AM |
Значение поля AM_PM, указывающее на период суток от полуночи до полудня. |
static final int |
AM_PM |
Номер поля для get и set, указывающий, находится ли HOUR до или после полудня. |
static final int |
APRIL |
Значение поля MONTH, указывающее на четвертый месяц года в григорианском и юлианском календарях. |
protected boolean |
areFieldsSet |
Истинно, если fields[] синхронизированы с установленным в данный момент временем. |
static final int |
AUGUST |
Значение поля MONTH, указывающее на восьмой месяц года в григорианском и юлианском календарях. |
static final int |
DATE |
Номер поля для get и set, указывающий на день месяца. |
static final int |
DAY_OF_MONTH |
Номер поля для get и set, указывающий на день месяца. |
static final int |
DAY_OF_WEEK |
Номер поля для get и set, указывающий на день недели. |
static final int |
DAY_OF_WEEK_IN_MONTH |
Номер поля для get и set, указывающий порядковый номер дня недели в текущем месяце. |
static final int |
DAY_OF_YEAR |
Номер поля для get и set, указывающий порядковый номер дня в текущем году. |
static final int |
DECEMBER |
Значение поля MONTH, указывающее на двенадцатый месяц года в григорианском и юлианском календарях. |
static final int |
DST_OFFSET |
Номер поля для get и set, указывающий смещение перехода на летнее время в миллисекундах. |
static final int |
ERA |
Номер поля для get и set, указывающий эру, например н. э. или до н. э. в юлианском календаре. |
static final int |
FEBRUARY |
Значение поля MONTH, указывающее на второй месяц года в григорианском и юлианском календарях. |
static final int |
FIELD_COUNT |
Количество различных полей, распознаваемых get и set. |
protected int[] |
fields |
Значения полей календаря для установленного в данный момент времени этого календаря. |
static final int |
FRIDAY |
Значение поля DAY_OF_WEEK, указывающее на пятницу. |
static final int |
HOUR |
Номер поля для get и set, указывающий на час до или после полудня. |
static final int |
HOUR_OF_DAY |
Номер поля для get и set, указывающий на час суток. |
protected boolean[] |
isSet |
Флаги, указывающие, установлено ли указанное поле календаря. |
protected boolean |
isTimeSet |
Истинно, если значение time допустимо. |
static final int |
JANUARY |
Значение поля MONTH, указывающее на первый месяц года в григорианском и юлианском календарях. |
static final int |
JULY |
Значение поля MONTH, указывающее на седьмой месяц года в григорианском и юлианском календарях. |
static final int |
JUNE |
Значение поля MONTH, указывающее на шестой месяц года в григорианском и юлианском календарях. |
static final int |
LONG |
|
static final int |
LONG_FORMAT |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий длинное название, используемое для форматирования. |
static final int |
LONG_STANDALONE |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий длинное название для самостоятельного использования, например название месяца в заголовках календаря. |
static final int |
MARCH |
Значение поля MONTH, указывающее на третий месяц года в григорианском и юлианском календарях. |
static final int |
MAY |
Значение поля MONTH, указывающее на пятый месяц года в григорианском и юлианском календарях. |
static final int |
MILLISECOND |
Номер поля для get и set, указывающий на миллисекунду внутри секунды. |
static final int |
MINUTE |
Номер поля для get и set, указывающий на минуту внутри часа. |
static final int |
MONDAY |
Значение поля DAY_OF_WEEK, указывающее на понедельник. |
static final int |
MONTH |
Номер поля для get и set, указывающий на месяц. |
static final int |
NARROW_FORMAT |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий узкое название, используемое для форматирования. |
static final int |
NARROW_STANDALONE |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий узкое название для самостоятельного использования. |
static final int |
NOVEMBER |
Значение поля MONTH, указывающее на одиннадцатый месяц года в григорианском и юлианском календарях. |
static final int |
OCTOBER |
Значение поля MONTH, указывающее на десятый месяц года в григорианском и юлианском календарях. |
static final int |
PM |
Значение поля AM_PM, указывающее на период суток от полудня до полуночи. |
static final int |
SATURDAY |
Значение поля DAY_OF_WEEK, указывающее на субботу. |
static final int |
SECOND |
Номер поля для get и set, указывающий на секунду внутри минуты. |
static final int |
SEPTEMBER |
Значение поля MONTH, указывающее на девятый месяц года в григорианском и юлианском календарях. |
static final int |
SHORT |
|
static final int |
SHORT_FORMAT |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий короткое название, используемое для форматирования. |
static final int |
SHORT_STANDALONE |
Спецификатор стиля для getDisplayName и getDisplayNames, указывающий короткое название для самостоятельного использования, например сокращение названия месяца в заголовках календаря. |
static final int |
SUNDAY |
Значение поля DAY_OF_WEEK, указывающее на воскресенье. |
static final int |
THURSDAY |
Значение поля DAY_OF_WEEK, указывающее на четверг. |
protected long |
time |
Установленное в данный момент время этого календаря, выраженное в миллисекундах после 1 января 1970 г., 00:00:00 GMT. |
static final int |
TUESDAY |
Значение поля DAY_OF_WEEK, указывающее на вторник. |
static final int |
UNDECIMBER |
Значение поля MONTH, указывающее на тринадцатый месяц года. |
static final int |
WEDNESDAY |
Значение поля DAY_OF_WEEK, указывающее на среду. |
static final int |
WEEK_OF_MONTH |
Номер поля для get и set, указывающий номер недели в текущем месяце. |
static final int |
WEEK_OF_YEAR |
Номер поля для get и set, указывающий номер недели в текущем году. |
static final int |
YEAR |
Номер поля для get и set, указывающий год. |
static final int |
ZONE_OFFSET |
Номер поля для get и set, указывающий исходное смещение от GMT в миллисекундах. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает календарь с часовым поясом по умолчанию и локалью FORMAT по умолчанию. |
|
protected |
Создает календарь с указанными часовым поясом и локалью. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
add |
Прибавляет или вычитает указанное количество времени из заданного поля календаря в соответствии с правилами календаря. |
boolean |
after |
Возвращает, представляет ли этот Calendar время, наступающее после времени, представленного указанным Object. |
boolean |
before |
Возвращает, представляет ли этот Calendar время, предшествующее времени, представленному указанным Object. |
final void |
clear() |
Сбрасывает значения всех полей календаря и значение времени (смещение в миллисекундах относительно начала отсчета) этого Calendar в неопределенное состояние. |
final void |
clear |
Сбрасывает значение заданного поля календаря и значение времени (смещение в миллисекундах относительно начала отсчета) этого Calendar в неопределенное состояние. |
Object |
clone() |
Создает и возвращает копию этого объекта. |
int |
compareTo |
Сравнивает значения времени (смещения в миллисекундах относительно начала отсчета), представленные двумя объектами Calendar. |
protected void |
complete() |
Заполняет все неустановленные поля календаря. |
protected abstract void |
computeFields() |
|
protected abstract void |
computeTime() |
|
boolean |
equals |
Сравнивает этот Calendar с указанным Object. |
int |
get |
Возвращает значение заданного поля календаря. |
int |
getActualMaximum |
Возвращает максимальное значение, которое может иметь указанное поле календаря с учетом значения времени этого Calendar. |
int |
getActualMinimum |
Возвращает минимальное значение, которое может иметь указанное поле календаря с учетом значения времени этого Calendar. |
static Set |
getAvailableCalendarTypes() |
Возвращает неизменяемый Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения. |
static Locale[] |
getAvailableLocales() |
Возвращает массив всех локалей, для которых методы getInstance этого класса могут возвращать локализованные экземпляры. |
String |
getCalendarType() |
Возвращает тип календаря этого Calendar. |
String |
getDisplayName |
Возвращает строковое представление значения field календаря для указанных style и locale. |
Map |
getDisplayNames |
Возвращает Map, содержащий все названия field календаря для указанных style и locale, а также соответствующие им значения полей. |
int |
getFirstDayOfWeek() |
Возвращает первый день недели; например, SUNDAY в США и MONDAY во Франции. |
abstract int |
getGreatestMinimum |
Возвращает наибольшее минимальное значение заданного поля календаря этого экземпляра Calendar. |
static Calendar |
getInstance() |
Получает календарь, используя часовой пояс и локаль по умолчанию. |
static Calendar |
getInstance |
Получает календарь, используя часовой пояс по умолчанию и указанную локаль. |
static Calendar |
getInstance |
Получает календарь, используя указанный часовой пояс и локаль по умолчанию. |
static Calendar |
getInstance |
Получает календарь с указанными часовым поясом и локалью. |
abstract int |
getLeastMaximum |
Возвращает наименьшее максимальное значение заданного поля календаря этого экземпляра Calendar. |
abstract int |
getMaximum |
Возвращает максимальное значение заданного поля календаря этого экземпляра Calendar. |
int |
getMinimalDaysInFirstWeek() |
Возвращает минимальное количество дней, необходимое в первой неделе года; например, если первой считается неделя, содержащая первый день первого месяца года, этот метод возвращает 1. |
abstract int |
getMinimum |
Возвращает минимальное значение заданного поля календаря этого экземпляра Calendar. |
final Date |
getTime() |
Возвращает объект Date, представляющий значение времени этого Calendar (смещение в миллисекундах относительно начала отсчета). |
long |
getTimeInMillis() |
Возвращает значение времени этого Calendar в миллисекундах. |
TimeZone |
getTimeZone() |
Возвращает часовой пояс. |
int |
getWeeksInWeekYear() |
Возвращает количество недель в неделе-году, представленном этим Calendar. |
int |
getWeekYear() |
Возвращает неделю-год, представленную этим Calendar. |
int |
hashCode() |
Возвращает хеш-код этого календаря. |
protected final int |
internalGet |
Возвращает значение заданного поля календаря. |
boolean |
isLenient() |
Указывает, следует ли применять нестрогую интерпретацию даты и времени. |
final boolean |
isSet |
Определяет, установлено ли значение заданного поля календаря, включая случаи, когда значение было установлено при вычислении внутренних полей, запущенном вызовом метода get. |
boolean |
isWeekDateSupported() |
Возвращает, поддерживает ли этот Calendar даты в формате «неделя-года». |
abstract void |
roll |
Прибавляет или вычитает одну единицу времени для заданного поля времени, не изменяя поля большего порядка. |
void |
roll |
Прибавляет указанное (знаковое) значение к заданному полю календаря, не изменяя поля большего порядка. |
void |
set |
Устанавливает заданное значение для указанного поля календаря. |
final void |
set |
Устанавливает значения полей календаря YEAR, MONTH и DAY_OF_MONTH. |
final void |
set |
Устанавливает значения полей календаря YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY и MINUTE. |
final void |
set |
Устанавливает значения полей YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE и SECOND. |
void |
setFirstDayOfWeek |
Устанавливает первый день недели; например, SUNDAY в США и MONDAY во Франции. |
void |
setLenient |
Указывает, следует ли применять нестрогую интерпретацию даты и времени. |
void |
setMinimalDaysInFirstWeek |
Устанавливает минимальное количество дней, необходимое в первой неделе года. Например, если первой считается неделя, содержащая первый день первого месяца года, вызовите этот метод со значением 1. |
final void |
setTime |
Устанавливает время этого Calendar с помощью заданного Date. |
void |
setTimeInMillis |
Устанавливает текущее время этого Calendar из заданного значения типа long. |
void |
setTimeZone |
Устанавливает часовой пояс, используя заданное значение часового пояса. |
void |
setWeekDate |
Устанавливает дату этого Calendar с помощью заданных параметров даты: недели-года, недели года и дня недели. |
final Instant |
toInstant() |
Преобразует этот объект в Instant. |
String |
toString() |
Возвращает строковое представление этого календаря. |
Подробное описание полей
ERA
public static final int ERA
get и set, указывающий эру, например AD или BC в юлианском календаре. Это значение зависит от календаря; см. документацию подкласса.- См. также:
YEAR
public static final int YEAR
get и set, указывающий год. Это значение зависит от календаря; см. документацию подкласса.- См. также:
MONTH
public static final int MONTH
get и set, указывающий месяц. Это значение зависит от календаря. Первый месяц года в григорианском и юлианском календарях — JANUARY, его значение равно 0; последний месяц зависит от числа месяцев в году.- См. также:
WEEK_OF_YEAR
public static final int WEEK_OF_YEAR
get и set, указывающий номер недели в текущем году. Первая неделя года, определяемая с помощью getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_YEAR для дней, предшествующих первой неделе года.- См. также:
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
get и set, указывающий номер недели в текущем месяце. Первая неделя месяца, определяемая с помощью getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_MONTH для дней, предшествующих первой неделе месяца.- См. также:
DATE
public static final int DATE
get и set, указывающий день месяца. Это синоним DAY_OF_MONTH. Первый день месяца имеет значение 1.- См. также:
DAY_OF_MONTH
public static final int DAY_OF_MONTH
get и set, указывающий день месяца. Это синоним DATE. Первый день месяца имеет значение 1.- См. также:
DAY_OF_YEAR
public static final int DAY_OF_YEAR
get и set, указывающий порядковый номер дня в текущем году. Первый день года имеет значение 1.- См. также:
DAY_OF_WEEK
public static final int DAY_OF_WEEK
get и set, указывающий день недели. Если календарь работает в строгом режиме, это поле принимает значения SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY и SATURDAY. В противном случае допускаются любые значения типа int, которые нормализуются до одного из перечисленных значений.- См. также:
DAY_OF_WEEK_IN_MONTH
public static final int DAY_OF_WEEK_IN_MONTH
get и set, указывающий порядковый номер дня недели в текущем месяце. Вместе с полем DAY_OF_WEEK это поле однозначно задаёт день месяца. В отличие от WEEK_OF_MONTH и WEEK_OF_YEAR, значение этого поля не зависит от getFirstDayOfWeek() или getMinimalDaysInFirstWeek(). Значения от DAY_OF_MONTH 1 до 7 всегда соответствуют DAY_OF_WEEK_IN_MONTH
1; значения от 8 до 14 соответствуют DAY_OF_WEEK_IN_MONTH 2 и так далее. DAY_OF_WEEK_IN_MONTH 0 обозначает неделю перед DAY_OF_WEEK_IN_MONTH 1. Отрицательные значения отсчитываются назад от конца месяца, поэтому последнее воскресенье месяца задаётся как DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1. Поскольку отрицательные значения отсчитываются в обратном направлении, их расположение в месяце обычно отличается от расположения положительных значений. Например, если в месяце 31 день, DAY_OF_WEEK_IN_MONTH -1 будет пересекаться с DAY_OF_WEEK_IN_MONTH 5 и концом 4.- См. также:
AM_PM
public static final int AM_PM
get и set, указывающий, находится ли HOUR до или после полудня. Например, в 10:04:15.250 PM значение AM_PM равно PM.- См. также:
HOUR
public static final int HOUR
get и set, указывающий час до или после полудня. HOUR используется для 12-часового формата (0–11). Полдень и полночь представляются значением 0, а не 12. Например, в 10:04:15.250 PM значение HOUR равно 10.- См. также:
HOUR_OF_DAY
public static final int HOUR_OF_DAY
get и set, указывающий час суток. HOUR_OF_DAY используется для 24-часового формата. Например, в 10:04:15.250 PM значение HOUR_OF_DAY равно 22.- См. также:
MINUTE
public static final int MINUTE
get и set, указывающий минуту в часе. Например, в 10:04:15.250 PM значение MINUTE равно 4.- См. также:
SECOND
public static final int SECOND
get и set, указывающий секунду в минуте. Например, в 10:04:15.250 PM значение SECOND равно 15.- См. также:
MILLISECOND
public static final int MILLISECOND
get и set, указывающий миллисекунду в секунде. Например, в 10:04:15.250 PM значение MILLISECOND равно 250.- См. также:
ZONE_OFFSET
public static final int ZONE_OFFSET
get и set, указывающий исходное смещение относительно GMT в миллисекундах. Это поле отражает правильное значение смещения часового пояса относительно GMT для данного Calendar, если подкласс реализации TimeZone поддерживает исторические изменения смещения относительно GMT.
- См. также:
DST_OFFSET
public static final int DST_OFFSET
get и set, указывающий смещение летнего времени в миллисекундах. Это поле отражает правильное значение смещения летнего времени для часового пояса данного Calendar, если подкласс реализации TimeZone поддерживает исторические изменения правил перехода на летнее время.
- См. также:
FIELD_COUNT
public static final int FIELD_COUNT
get и set. Номера полей находятся в диапазоне от 0..FIELD_COUNT-1.- См. также:
SUNDAY
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
JANUARY
public static final int JANUARY
MONTH, обозначающее первый месяц года в григорианском и юлианском календарях.- См. также:
FEBRUARY
public static final int FEBRUARY
MONTH, обозначающее второй месяц года в григорианском и юлианском календарях.- См. также:
MARCH
public static final int MARCH
MONTH, обозначающее третий месяц года в григорианском и юлианском календарях.- См. также:
APRIL
public static final int APRIL
MONTH, обозначающее четвёртый месяц года в григорианском и юлианском календарях.- См. также:
MAY
public static final int MAY
MONTH, обозначающее пятый месяц года в григорианском и юлианском календарях.- См. также:
JUNE
public static final int JUNE
MONTH, обозначающее шестой месяц года в григорианском и юлианском календарях.- См. также:
JULY
public static final int JULY
MONTH, обозначающее седьмой месяц года в григорианском и юлианском календарях.- См. также:
AUGUST
public static final int AUGUST
MONTH, обозначающее восьмой месяц года в григорианском и юлианском календарях.- См. также:
SEPTEMBER
public static final int SEPTEMBER
MONTH, обозначающее девятый месяц года в григорианском и юлианском календарях.- См. также:
OCTOBER
public static final int OCTOBER
MONTH, обозначающее десятый месяц года в григорианском и юлианском календарях.- См. также:
NOVEMBER
public static final int NOVEMBER
MONTH, обозначающее одиннадцатый месяц года в григорианском и юлианском календарях.- См. также:
DECEMBER
public static final int DECEMBER
MONTH, обозначающее двенадцатый месяц года в григорианском и юлианском календарях.- См. также:
UNDECIMBER
public static final int UNDECIMBER
MONTH, обозначающее тринадцатый месяц года. Хотя GregorianCalendar не использует это значение, оно применяется в лунных календарях.- См. также:
AM
public static final int AM
AM_PM, обозначающее период суток от полуночи до полудня.- См. также:
PM
public static final int PM
AM_PM, обозначающее период суток от полудня до полуночи.- См. также:
ALL_STYLES
public static final int ALL_STYLES
getDisplayNames, указывающий наименования во всех стилях, например «январь» и «янв.».- Начиная с версии:
- 1.6
- См. также:
SHORT
public static final int SHORT
- Начиная с версии:
- 1.6
- См. также:
LONG
public static final int LONG
- Начиная с версии:
- 1.6
- См. также:
NARROW_FORMAT
public static final int NARROW_FORMAT
getDisplayName и getDisplayNames, указывающий узкое наименование для форматирования. Узкие наименования обычно состоят из одного символа, например «П» для понедельника.- Начиная с версии:
- 1.8
- См. также:
NARROW_STANDALONE
public static final int NARROW_STANDALONE
getDisplayName и getDisplayNames, указывающий узкое самостоятельное наименование. Узкие наименования обычно состоят из одного символа, например «П» для понедельника.- Начиная с версии:
- 1.8
- См. также:
SHORT_FORMAT
public static final int SHORT_FORMAT
getDisplayName и getDisplayNames, указывающий краткое наименование для форматирования.- Начиная с версии:
- 1.8
- См. также:
LONG_FORMAT
public static final int LONG_FORMAT
getDisplayName и getDisplayNames, указывающий на длинное название, используемое в формате.- С версии:
- 1.8
- См. также:
SHORT_STANDALONE
public static final int SHORT_STANDALONE
getDisplayName и getDisplayNames, указывающий на короткое название, используемое самостоятельно, например сокращение названия месяца в заголовках календаря.- С версии:
- 1.8
- См. также:
LONG_STANDALONE
public static final int LONG_STANDALONE
getDisplayName и getDisplayNames, указывающий на длинное название, используемое самостоятельно, например название месяца в заголовках календаря.- С версии:
- 1.8
- См. также:
fields
protected int[] fields
FIELD_COUNT целых чисел с индексами от ERA до DST_OFFSET.isSet
protected boolean[] isSet
FIELD_COUNT логических значений с индексами от ERA до DST_OFFSET.time
protected long time
- См. также:
isTimeSet
protected boolean isTimeSet
time действительно. Время становится недействительным при изменении элемента field[].- См. также:
areFieldsSet
protected boolean areFieldsSet
fields[] синхронизированы с текущим установленным временем. Если значение равно false, следующая попытка получить значение поля приведет к пересчету всех полей на основе текущего значения time.Подробное описание конструкторов
Calendar
Calendar
protected Calendar(TimeZone zone, Locale aLocale)
- Параметры:
-
zone— используемый часовой пояс -
aLocale— локаль для данных о неделе
Подробное описание методов
getInstance
public static Calendar getInstance()
Calendar основан на текущем времени в часовом поясе по умолчанию и локали FORMAT по умолчанию. Если локаль содержит часовой пояс в виде расширения Unicode "tz" (Unicode extension), используется этот часовой пояс.
- Возвращает:
- объект Calendar.
getInstance
public static Calendar getInstance(TimeZone zone)
Calendar основан на текущем времени в указанном часовом поясе и локали FORMAT по умолчанию.- Параметры:
-
zone— используемый часовой пояс - Возвращает:
- объект Calendar.
- Вызывает исключение:
-
NullPointerException— еслиzoneравноnull
getInstance
public static Calendar getInstance(Locale aLocale)
Calendar основан на текущем времени в часовом поясе по умолчанию и указанной локали. Если локаль содержит часовой пояс в виде расширения Unicode "tz" (Unicode extension), используется этот часовой пояс.
- Параметры:
-
aLocale— локаль для данных о неделе - Возвращает:
- объект Calendar.
- Вызывает исключение:
-
NullPointerException— еслиaLocaleравноnull
getInstance
public static Calendar getInstance(TimeZone zone, Locale aLocale)
Calendar основан на текущем времени в указанном часовом поясе и указанной локали.- Параметры:
-
zone— используемый часовой пояс -
aLocale— локаль для данных о неделе - Возвращает:
- объект Calendar.
- Вызывает исключение:
-
NullPointerException— еслиzoneилиaLocaleравноnull
getAvailableLocales
public static Locale[] getAvailableLocales()
getInstance этого класса могут возвращать локализованные экземпляры. Как минимум возвращаемый массив должен содержать экземпляр Locale, равный Locale.ROOT, и экземпляр Locale, равный Locale.US.- Возвращает:
- массив локалей, для которых доступны локализованные экземпляры
Calendar.
computeTime
computeFields
protected abstract void computeFields()
time в значения полей календаря в fields[]. Это позволяет синхронизировать значения полей календаря с новым временем, установленным для календаря. Сначала время не пересчитывается; чтобы пересчитать время, а затем поля, вызовите метод complete().- См. также:
getTime
public final Date getTime()
Date, представляющий значение времени этого Calendar (смещение в миллисекундах относительно Epoch).- Возвращает:
- объект
Date, представляющий значение времени. - См. также:
setTime
public final void setTime(Date date)
Date. Примечание. Вызов setTime() с Date(Long.MAX_VALUE) или Date(Long.MIN_VALUE) может привести к неверным значениям полей в get().
- Параметры:
-
date— указанная дата. - Вызывает исключение:
-
NullPointerException— еслиdateравноnull - См. также:
getTimeInMillis
public long getTimeInMillis()
- Возвращает:
- текущее время в миллисекундах UTC с начала эпохи.
- См. также:
setTimeInMillis
public void setTimeInMillis(long millis)
- Параметры:
-
millis— новое время в миллисекундах UTC с начала эпохи. - См. также:
get
public int get(int field)
complete(); процесс зависит от календарной системы.- Параметры:
-
field— указанное поле календаря. - Возвращает:
- значение указанного поля календаря.
- Вызывает исключение:
-
IllegalArgumentException— если этотCalendarработает в неразрешительном режиме и значения каких-либо полей календаря недопустимы. - См. также:
internalGet
protected final int internalGet(int field)
- Параметры:
-
field— указанное поле календаря. - Возвращает:
- значение указанного поля календаря.
- См. также:
set
public void set(int field, int value)
- Параметры:
-
field— указанное поле календаря. -
value— значение, которое необходимо установить для указанного поля календаря. - См. также:
set
public final void set(int year, int month, int date)
YEAR, MONTH и DAY_OF_MONTH. Предыдущие значения остальных полей календаря сохраняются. Если это нежелательно, сначала вызовите clear().- Параметры:
-
year— значение, используемое для установки поля календаряYEAR. -
month— значение, используемое для установки поля календаряMONTH. Нумерация месяцев начинается с 0, например 0 соответствует январю. -
date— значение, используемое для установки поля календаряDAY_OF_MONTH. - См. также:
set
public final void set(int year, int month, int date, int hourOfDay, int minute)
YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY и MINUTE. Предыдущие значения остальных полей сохраняются. Если это нежелательно, сначала вызовите clear().- Параметры:
-
year— значение, используемое для установки поля календаряYEAR. -
month— значение, используемое для установки поля календаряMONTH. Нумерация месяцев начинается с 0, например 0 соответствует январю. -
date— значение, используемое для установки поля календаряDAY_OF_MONTH. -
hourOfDay— значение, используемое для установки поля календаряHOUR_OF_DAY. -
minute— значение, используемое для установки поля календаряMINUTE. - См. также:
set
public final void set(int year, int month, int date, int hourOfDay, int minute, int second)
YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE и SECOND. Предыдущие значения остальных полей сохраняются. Если это нежелательно, сначала вызовите clear().- Параметры:
-
year— значение, используемое для установки поля календаряYEAR. -
month— значение, используемое для установки поля календаряMONTH. Нумерация месяцев начинается с 0, например 0 соответствует январю. -
date— значение, используемое для установки поля календаряDAY_OF_MONTH. -
hourOfDay— значение, используемое для установки поля календаряHOUR_OF_DAY. -
minute— значение, используемое для установки поля календаряMINUTE. -
second— значение, используемое для установки поля календаряSECOND. - См. также:
clear
public final void clear()
Calendar состояние «не определено». Это означает, что isSet() будет возвращать false для всех полей календаря, а при вычислении даты и времени поля будут считаться никогда не заданными. Класс реализации Calendar может использовать собственные значения полей по умолчанию для вычислений даты и времени. Например, GregorianCalendar использует 1970 год, если значение поля YEAR не определено.- См. также:
clear
public final void clear(int field)
Calendar состояние «не определено». Это означает, что isSet(field) будет возвращать false, а при вычислении даты и времени поле будет считаться никогда не заданным. Класс реализации Calendar может использовать заданное для этого поля значение по умолчанию при вычислениях даты и времени. Поля HOUR_OF_DAY, HOUR и AM_PM обрабатываются независимо, при этом применяется правило разрешения неоднозначности времени суток. Очистка одного из полей не сбрасывает значение часа суток этого Calendar. Используйте set(Calendar.HOUR_OF_DAY, 0), чтобы сбросить значение часа.
- Параметры:
-
field— поле календаря, которое нужно очистить. - См. также:
isSet
public final boolean isSet(int field)
get.- Параметры:
-
field— поле календаря для проверки - Возвращает:
-
true, если для указанного поля календаря задано значение; в противном случае —false.
getDisplayName
public String getDisplayName(int field, int style, Locale locale)
field календаря в указанной style и locale. Если строковое представление неприменимо, возвращается null. Если строковое представление применимо к указанному field календаря, этот метод вызывает get(field), чтобы получить значение field календаря. Например, если этот Calendar является GregorianCalendar и его дата — 2005-01-01, строковым представлением поля MONTH будет "January" в длинном формате для английской локали или "Jan" в коротком формате. Однако для поля DAY_OF_MONTH строковое представление отсутствует, и этот метод вернет null.
Реализация по умолчанию поддерживает поля календаря, для которых DateFormatSymbols содержит названия в указанной locale.
Если строковое представление Calendar field отсутствует, календарь работает в неразрешительном режиме и значения каких-либо полей календаря недопустимы, возвращается null. Если строковое представление Calendar field существует, календарь работает в неразрешительном режиме и значения каких-либо полей календаря недопустимы, будет выброшено IllegalArgumentException.
- Параметры:
-
field— поле календаря, для которого возвращается строковое представление -
style— стиль строкового представления; один из следующих:SHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMATилиNARROW_STANDALONE. -
locale— локаль строкового представления (все типы календаря, указанные вlocale, игнорируются) - Возвращает:
- строковое представление указанного
fieldв указаннойstyleилиnull, если строковое представление неприменимо. - Вызывает исключение:
-
IllegalArgumentException— еслиfieldилиstyleнедопустимо либо если этотCalendarработает в неразрешительном режиме и значения каких-либо полей календаря недопустимы -
NullPointerException— еслиlocaleравно null - С версии:
- 1.6
getDisplayNames
public Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
Map, содержащую все названия field календаря в указанной style и locale, а также соответствующие им значения полей. Например, если этот Calendar является GregorianCalendar, возвращаемая карта будет содержать соответствия "Jan" — JANUARY, "Feb" — FEBRUARY и так далее в коротком формате для английской локали. Краткие названия могут быть неоднозначными из-за использования одиночных символов, например "S" для воскресенья и субботы. В этом случае краткие названия не включаются в возвращаемую Map.
При определении набора отображаемых названий могут учитываться значения других полей календаря. Например, если этот Calendar является лунно-солнечной календарной системой и значение года, заданное полем YEAR, включает високосный месяц, этот метод вернет названия месяцев, содержащие название високосного месяца, а названия месяцев будут сопоставлены со значениями, соответствующими этому году.
Реализация по умолчанию поддерживает отображаемые названия, содержащиеся в DateFormatSymbols. Например, если field — это MONTH, а style — ALL_STYLES, этот метод возвращает Map, содержащую все строки, возвращаемые методами DateFormatSymbols.getShortMonths() и DateFormatSymbols.getMonths().
В отличие от getDisplayName(int, int, Locale), этот метод не выбрасывает IllegalArgumentException, если Calendar работает в неразрешительном режиме и значения каких-либо полей календаря недопустимы. Вместо этого метод возвращает либо null, либо Map.
- Параметры:
-
field— поле календаря, для которого возвращаются отображаемые названия -
style— стиль строкового представления; один из следующих:SHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMATилиNARROW_STANDALONE -
locale— локаль отображаемых названий - Возвращает:
Map, содержащую все отображаемые названия вstyleиlocale, а также значения их полей, илиnull, если отображаемые названия дляfieldне определены- Вызывает исключение:
-
IllegalArgumentException— еслиfieldилиstyleнедопустимо -
NullPointerException— еслиlocaleравно null - С версии:
- 1.6
complete
protected void complete()
computeTime(), если значение времени (смещение в миллисекундах относительно Epoch) еще не было вычислено на основе значений полей календаря. Затем вызывается метод computeFields() для вычисления значений всех полей календаря.getAvailableCalendarTypes
public static Set<String> getAvailableCalendarTypes()
Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения. Доступные типы календарей можно использовать в расширениях локали Unicode. Возвращаемый Set содержит как минимум "gregory". Типы календарей не включают псевдонимы, например "gregorian" для "gregory".- Возвращает:
- неизменяемый
Set, содержащий все доступные типы календарей - С версии:
- 1.8
- См. также:
getCalendarType
public String getCalendarType()
Calendar. Типы календарей определены спецификацией языка разметки данных локали Unicode (LDML). Реализация этого метода по умолчанию возвращает имя класса данного экземпляра Calendar. Любые подклассы, реализующие календарные системы, определенные LDML, должны переопределить этот метод, чтобы возвращать соответствующие типы календарей.
- Возвращает:
- определенный LDML тип календаря или имя класса данного экземпляра
Calendar - Начиная с:
- 1.8
- См. также:
equals
public boolean equals(Object obj)
Calendar с указанным Object. Результат равен true тогда и только тогда, когда аргумент является объектом Calendar той же календарной системы, представляющим то же значение времени (смещение в миллисекундах относительно эпохи) при тех же параметрах Calendar, что и этот объект. Параметры Calendar — это значения, представленные методами isLenient, getFirstDayOfWeek, getMinimalDaysInFirstWeek и getTimeZone. Если эти параметры различаются у двух объектов Calendar, этот метод возвращает false.
Используйте метод compareTo для сравнения только значений времени.
hashCode
before
public boolean before(Object when)
Calendar время, предшествующее времени, представленному указанным Object. Этот метод эквивалентен: compareTo(when) < 0
тогда и только тогда, когда when является экземпляром Calendar. В противном случае метод возвращает false.- Параметры:
-
when—Objectдля сравнения - Возвращает:
-
true, если время этогоCalendarпредшествует времени, представленномуwhen; в противном случае —false. - См. также:
after
public boolean after(Object when)
Calendar время, следующее за временем, представленным указанным Object. Этот метод эквивалентен: compareTo(when) > 0
тогда и только тогда, когда when является экземпляром Calendar. В противном случае метод возвращает false.- Параметры:
-
when—Objectдля сравнения - Возвращает:
-
true, если время этогоCalendarследует за временем, представленнымwhen; в противном случае —false. - См. также:
compareTo
public int compareTo(Calendar anotherCalendar)
Calendar.- Определено в:
-
compareToв интерфейсеComparable<Calendar> - Параметры:
-
anotherCalendar—Calendarдля сравнения. - Возвращает:
- значение
0, если время, представленное аргументом, равно времени, представленному этимCalendar; значение меньше0, если время этогоCalendarпредшествует времени, представленному аргументом; и значение больше0, если время этогоCalendarследует за временем, представленным аргументом. - Выбрасывает:
-
NullPointerException— если указанныйCalendarравенnull. -
IllegalArgumentException— если значение времени указанного объектаCalendarневозможно получить из-за недопустимых значений календаря. - Начиная с:
- 1.5
add
public abstract void add(int field, int amount)
add(Calendar.DAY_OF_MONTH, -5).
- Параметры:
-
field— поле календаря. -
amount— количество даты или времени, добавляемое к полю. - Выбрасывает:
-
IllegalArgumentException— если этотCalendarработает в строгом режиме и какие-либо поля календаря имеют недопустимые значения, либо еслиfieldравенZONE_OFFSET,DST_OFFSETили имеет неизвестное значение. - См. также:
roll
public abstract void roll(int field, boolean up)
roll(Calendar.DATE, true). При циклическом изменении года или поля Calendar.YEAR значение года будет изменяться в диапазоне от 1 до значения, возвращаемого вызовом getMaximum(Calendar.YEAR). При циклическом изменении месяца или поля Calendar.MONTH может возникнуть конфликт с другими полями, например датой, и их потребуется изменить. Например, циклическое изменение месяца для даты 31.01.96 приведет к дате 29.02.96. При циклическом изменении часа суток или поля Calendar.HOUR_OF_DAY значение часа будет изменяться в диапазоне от 0 до 23, то есть с нулевой базой.
- Параметры:
-
field— поле времени. -
up— указывает, следует ли циклически увеличивать или уменьшать значение указанного поля времени. Используйте true для увеличения, иначе — false. - Выбрасывает:
-
IllegalArgumentException— если этотCalendarработает в строгом режиме и какие-либо поля календаря имеют недопустимые значения, либо еслиfieldравенZONE_OFFSET,DST_OFFSETили имеет неизвестное значение. - См. также:
roll
public void roll(int field, int amount)
ПРИМЕЧАНИЕ: Реализация этого метода по умолчанию в Calendar просто многократно вызывает версию roll(), которая изменяет значение на одну единицу. Это не всегда дает правильный результат. Например, если значение поля DAY_OF_MONTH равно 31, то при переходе через февраль оно останется равным 28. Версия этой функции GregorianCalendar решает эту проблему. Другим подклассам также следует переопределить эту функцию, чтобы она работала правильно.
- Параметры:
-
field— поле календаря. -
amount— знаковое значение, добавляемое к полю календаряfield. - Выбрасывает:
-
IllegalArgumentException— если этотCalendarработает в строгом режиме и какие-либо поля календаря имеют недопустимые значения, либо еслиfieldравенZONE_OFFSET,DST_OFFSETили имеет неизвестное значение. - Начиная с:
- 1.2
- См. также:
setTimeZone
public void setTimeZone(TimeZone value)
- Параметры:
-
value— заданный часовой пояс.
getTimeZone
public TimeZone getTimeZone()
- Возвращает:
- объект часового пояса, связанный с этим календарем.
setLenient
public void setLenient(boolean lenient)
- Параметры:
-
lenient—true, если нестрогий режим нужно включить;false, если его нужно выключить. - См. также:
isLenient
public boolean isLenient()
- Возвращает:
-
true, если для этого календаря используется нестрогий режим интерпретации; в противном случае —false. - См. также:
setFirstDayOfWeek
public void setFirstDayOfWeek(int value)
SUNDAY в США и MONDAY во Франции.- Параметры:
-
value— заданный первый день недели. - См. также:
getFirstDayOfWeek
public int getFirstDayOfWeek()
SUNDAY в США и MONDAY во Франции.- Возвращает:
- первый день недели.
- См. также:
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)
- Параметры:
-
value— заданное минимальное количество дней, необходимое для первой недели года. - См. также:
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()
- Возвращает:
- минимальное количество дней, необходимое для первой недели года.
- См. также:
isWeekDateSupported
public boolean isWeekDateSupported()
Calendar даты недель. Реализация этого метода по умолчанию возвращает false.
- Возвращает:
-
true, если этотCalendarподдерживает даты недель; в противном случае —false. - Начиная с:
- 1.7
- См. также:
getWeekYear
public int getWeekYear()
Calendar. Год недели согласован с циклом недель. Первый день первой недели является первым днем года недели. Реализация этого метода по умолчанию выбрасывает исключение UnsupportedOperationException.
- Возвращает:
- год недели этого
Calendar - Выбрасывает:
-
UnsupportedOperationException— если в этомCalendarне поддерживается нумерация годов недели. - Начиная с:
- 1.7
- См. также:
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Calendar с помощью заданных компонентов даты: года недели, недели года и дня недели. В отличие от метода set, по завершении вызова вычисляются все поля календаря и значения time.
Если значение weekOfYear выходит за допустимый диапазон недель года в weekYear, значения weekYear и
weekOfYear корректируются в нестрогом режиме, а в строгом режиме выбрасывается
IllegalArgumentException.
Реализация этого метода по умолчанию выбрасывает исключение UnsupportedOperationException.
- Параметры:
-
weekYear— год недели -
weekOfYear— номер недели, отсчитываемый отweekYear -
dayOfWeek— значение дня недели: одна из констант поляDAY_OF_WEEK:SUNDAY, ...,SATURDAY. - Выбрасывает:
-
IllegalArgumentException— если какой-либо из заданных компонентов даты недопустим или если какое-либо поле календаря не согласуется с заданными компонентами даты в строгом режиме -
UnsupportedOperationException— если в этомCalendarне поддерживается нумерация годов недели. - Начиная с:
- 1.7
- См. также:
getWeeksInWeekYear
public int getWeeksInWeekYear()
Calendar. Реализация этого метода по умолчанию выбрасывает исключение UnsupportedOperationException.
- Возвращает:
- количество недель в году недели.
- Выбрасывает:
-
UnsupportedOperationException— если в этомCalendarне поддерживается нумерация годов недели. - Начиная с:
- 1.7
- См. также:
getMinimum
public abstract int getMinimum(int field)
Calendar. Минимальное значение определяется как наименьшее значение, возвращаемое методом get для любого возможного значения времени. Минимальное значение зависит от параметров календарной системы конкретного экземпляра.- Параметры:
-
field— поле календаря. - Возвращает:
- минимальное значение заданного поля календаря.
- См. также:
getMaximum
public abstract int getMaximum(int field)
Calendar. Максимальное значение определяется как наибольшее значение, возвращаемое методом get для любого возможного значения времени. Максимальное значение зависит от параметров календарной системы конкретного экземпляра.- Параметры:
-
field— поле календаря. - Возвращает:
- максимальное значение заданного поля календаря.
- См. также:
getGreatestMinimum
public abstract int getGreatestMinimum(int field)
Calendar. Наибольшее минимальное значение определяется как наибольшее значение, возвращаемое методом getActualMinimum(int) для любого возможного значения времени. Наибольшее минимальное значение зависит от параметров календарной системы конкретного экземпляра.- Параметры:
-
field— поле календаря. - Возвращает:
- наибольшее минимальное значение заданного поля календаря.
- См. также:
getLeastMaximum
public abstract int getLeastMaximum(int field)
Calendar. Наименьшее максимальное значение определяется как наименьшее значение, возвращаемое методом getActualMaximum(int) для любого возможного значения времени. Наименьшее максимальное значение зависит от параметров календарной системы конкретного экземпляра. Например, Calendar для григорианской календарной системы возвращает 28 для поля DAY_OF_MONTH, поскольку 28-е число — последний день самого короткого месяца этого календаря, февраля обычного года.- Параметры:
-
field— поле календаря. - Возвращает:
- наименьшее максимальное значение заданного поля календаря.
- См. также:
getActualMinimum
public int getActualMinimum(int field)
Calendar. Реализация этого метода по умолчанию использует итеративный алгоритм для определения фактического минимального значения поля календаря. По возможности подклассам следует переопределять этот метод, используя более эффективную реализацию; во многих случаях достаточно просто вернуть getMinimum().
- Параметры:
-
field— поле календаря - Возвращает:
- минимальное значение заданного поля календаря для значения времени этого
Calendar - Начиная с:
- 1.2
- См. также:
getActualMaximum
public int getActualMaximum(int field)
Calendar. Например, фактическое максимальное значение поля MONTH в еврейской календарной системе в некоторые годы равно 12, а в другие — 13. Реализация этого метода по умолчанию использует итеративный алгоритм для определения фактического максимального значения поля календаря. По возможности подклассам следует переопределять этот метод, используя более эффективную реализацию.
- Параметры:
-
field— поле календаря - Возвращает:
- максимальное значение заданного поля календаря для значения времени этого
Calendar - Начиная с:
- 1.2
- См. также:
clone
toString
public String toString()
null.toInstant
public final Instant toInstant()
Instant. Преобразование создает Instant, представляющий ту же точку на временной шкале, что и этот Calendar.
- Возвращает:
- момент времени, представляющий ту же точку на временной шкале
- Начиная с:
- 1.8
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Calendar.html