Spec-Zone.ru › OpenJDK 8

Класс Calendar

  • java.lang.Object
    • java.util.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, для получения полезного объекта этого типа. Метод Calendar класса Calendar возвращает объект Calendar, поля календаря которого инициализированы текущей датой и временем:

Calendar rightNow = Calendar.getInstance();

Объект Calendar может генерировать все значения полей календаря, необходимые для реализации форматирования даты и времени для определённого языка и стиля календаря (например, японско-григорианский, японско-традиционный). Calendar определяет диапазон значений, возвращаемых определёнными полями календаря, а также их значение. Например, первый месяц системы календаря имеет значение MONTH == JANUARY для всех календарей. Другие значения определяются конкретным подклассом, например, ERA. Подробности см. в документации по отдельным полям и документации по подклассам.

Получение и установка значений полей календаря

Значения полей календаря можно установить, вызвав методы set. Любые значения полей, установленные в Calendar, не будут интерпретированы до тех пор, пока не потребуется вычисление значения во времени (миллисекунды от эпохи) или значений полей календаря. Вызов методов get, getTimeInMillis, getTime, add и roll подразумевает такое вычисление.

Уступчивость

Calendar имеет два режима интерпретации полей календаря: уступчивый и строгий. Когда Calendar находится в режиме уступчивости, он принимает более широкий диапазон значений полей календаря, чем он генерирует. Когда Calendar пересчитывает значения полей календаря для возврата методом get(), все поля календаря нормализуются. Например, уступчивый GregorianCalendar интерпретирует MONTH == JANUARY, DAY_OF_MONTH == 32 как 1 февраля.

Когда Calendar находится в строгом режиме, он генерирует исключение, если в его полях календаря есть какие-либо несоответствия. Например, строгий GregorianCalendar всегда генерирует значения DAY_OF_MONTH от 1 до длины месяца. Строгий GregorianCalendar генерирует исключение при вычислении времени или значений полей календаря, если установлено любое значение поля, выходящее за пределы диапазона.

Первая неделя

Calendar определяет специфичную для локали семидневную неделю с использованием двух параметров: первого дня недели и минимального количества дней в первой неделе (от 1 до 7). Эти числа берутся из данных ресурсов локали при создании Calendar. Их также можно задать явно с помощью методов для установки их значений.

При установке или получении полей WEEK_OF_MONTH или WEEK_OF_YEAR, Calendar должен определить первую неделю месяца или года в качестве точки отсчёта. Первая неделя месяца или года определяется как самый ранний период из семи дней, начинающийся с getFirstDayOfWeek() и содержащий по меньшей мере getMinimalDaysInFirstWeek() дней этого месяца или года. Неделям с номерами ..., -1, 0 предшествует первая неделя; неделям с номерами 2, 3, ... следует за ней. Обратите внимание, что нормализованное число, возвращаемое методом get(), может отличаться. Например, конкретный подкласс Calendar может обозначить неделю перед первой неделей года как неделю 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 и т. д.

Примечание: Существуют определённые возможные неоднозначности в интерпретации некоторых отдельных моментов времени, которые разрешаются следующим образом:

  1. 23:59 — последняя минута дня, а 00:00 — первая минута следующего дня. Таким образом, 23:59 31 декабря 1999 года < 00:00 1 января 2000 года < 00:01 1 января 2000 года.
  2. Хотя исторически неточно, полночь также относится к «утру», а полдень — к «послеполудни», поэтому в один и тот же день 12:00 утра (полночь) < 12:01 утра, а 12:00 дня (полдень) < 12:01 дня.

Строки формата даты или времени не входят в определение календаря, поскольку их можно изменять или переопределять пользователем во время выполнения. Для форматирования дат используйте 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 года. Это временное внутреннее представление, которое преобразуется в 1 октября 1999 года, если затем вызывается getTime(). Однако вызов 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(), в зависимости от того, должны ли затронуты большие поля, интерфейс пользователя может вести себя так, как интуитивно ожидают большинство пользователей.

Since:
JDK1.1
See Also:
System.currentTimeMillis(), Date, GregorianCalendar, TimeZone, DateFormat, Serialized Form

Вложенные классы

Модификатор и тип Класс и описание
static class  Calendar.Builder

Calendar.Builder используется для создания Calendar из различных параметров даты и времени.

Поля

Модификатор и тип Поле и описание
static int ALL_STYLES

Спецификатор стиля для getDisplayNames, указывающий имена во всех стилях, такие как «Январь» и «Янв».

static int AM

Значение поля AM_PM, обозначающее период дня с полуночи до чуть перед полуднем.

static int AM_PM

Номер поля для get и set , указывающий, находится ли HOUR до или после полудня.

static int APRIL

Значение поля MONTH, обозначающее четвёртый месяц года в григорианском и юлианском календарях.

protected boolean areFieldsSet

Истинно, если fields[] синхронизированы с текущим временем.

static int AUGUST

Значение поля MONTH, обозначающее восьмой месяц года в григорианском и юлианском календарях.

static int DATE

Номер поля для get и set , обозначающий день месяца.

static int DAY_OF_MONTH

Номер поля для get и set , обозначающий день месяца.

static int DAY_OF_WEEK

Номер поля для get и set , обозначающий день недели.

static int DAY_OF_WEEK_IN_MONTH

Номер поля для get и set , обозначающий порядковый номер дня недели в текущем месяце.

static int DAY_OF_YEAR

Номер поля для get и set , обозначающий номер дня в текущем году.

static int DECEMBER

Значение поля MONTH, обозначающее двенадцатый месяц года в григорианском и юлианском календарях.

static int DST_OFFSET

Номер поля для get и set , обозначающий смещение летнего времени в миллисекундах.

static int ERA

Номер поля для get и set , обозначающий эру, например, н.э. или до н.э. в юлианском календаре.

static int FEBRUARY

Значение поля MONTH, обозначающее второй месяц года в григорианском и юлианском календарях.

static int FIELD_COUNT

Количество отдельных полей, распознаваемых get и set.

protected int[] fields

Значения полей календаря для текущего времени в этом календаре.

static int FRIDAY

Значение поля DAY_OF_WEEK, обозначающее пятницу.

static int HOUR

Номер поля для get и set , обозначающий час утра или дня.

static int HOUR_OF_DAY

Номер поля для get и set , обозначающий час дня.

protected boolean[] isSet

Флаги, указывающие, установлено ли заданное поле календаря для календаря.

protected boolean isTimeSet

Истина, если значение time является допустимым.

static int JANUARY

Значение поля MONTH, обозначающее первый месяц года в григорианском и юлианском календарях.

static int JULY

Значение поля MONTH, обозначающее седьмой месяц года в григорианском и юлианском календарях.

static int JUNE

Значение поля MONTH, обозначающее шестой месяц года в григорианском и юлианском календарях.

static int LONG

Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный LONG_FORMAT.

static int LONG_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий полное имя, используемое для форматирования.

static int LONG_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий полное имя, используемое независимо, например, имя месяца как заголовки календаря.

static int MARCH

Значение поля MONTH, обозначающее третий месяц года в григорианском и юлианском календарях.

static int MAY

Значение поля MONTH, обозначающее пятый месяц года в григорианском и юлианском календарях.

static int MILLISECOND

Номер поля для get и set , обозначающий миллисекунды в секунде.

static int MINUTE

Номер поля для get и set , обозначающий минуты в часе.

static int MONDAY

Значение поля DAY_OF_WEEK, обозначающее понедельник.

static int MONTH

Номер поля для get и set , обозначающий месяц.

static int NARROW_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий узкое имя, используемое для форматирования.

static int NARROW_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий узкое имя, используемое независимо.

static int NOVEMBER

Значение поля MONTH, обозначающее одиннадцатый месяц года в григорианском и юлианском календарях.

static int OCTOBER

Значение поля MONTH, обозначающее десятый месяц года в григорианском и юлианском календарях.

static int PM

Значение поля AM_PM, обозначающее период дня с полудня до чуть перед полуночью.

static int SATURDAY

Значение поля DAY_OF_WEEK, обозначающее субботу.

static int SECOND

Номер поля для get и set , обозначающий секунды в минуте.

static int SEPTEMBER

Значение поля MONTH, обозначающее девятый месяц года в григорианском и юлианском календарях.

static int SHORT

Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный SHORT_FORMAT.

static int SHORT_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий короткое имя, используемое для форматирования.

static int SHORT_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий короткое имя, используемое независимо, например, сокращение месяца как заголовки календаря.

static int SUNDAY

Значение поля DAY_OF_WEEK, обозначающее воскресенье.

static int THURSDAY

Значение поля DAY_OF_WEEK, обозначающее четверг.

protected long time

Текущее время для этого календаря, выраженное в миллисекундах после 1 января 1970 года, 0:00:00 GMT.

static int TUESDAY

Значение поля DAY_OF_WEEK, обозначающее вторник.

static int UNDECIMBER

Значение поля MONTH, обозначающее тринадцатый месяц года.

static int WEDNESDAY

Значение поля DAY_OF_WEEK, обозначающее среду.

static int WEEK_OF_MONTH

Номер поля для get и set , обозначающий номер недели в текущем месяце.

static int WEEK_OF_YEAR

Номер поля для get и set , обозначающий номер недели в текущем году.

static int YEAR

Номер поля для get и set , обозначающий год.

static int ZONE_OFFSET

Номер поля для get и set , обозначающий необработанное смещение от GMT в миллисекундах.

END_OF_DOCUMENT_MARKER

Конструкторы

Модификатор Конструктор и описание
protected Calendar()

Создаёт календарь с часовым поясом по умолчанию и локалью по умолчанию FORMAT.

protected Calendar(TimeZone zone, Locale aLocale)

Создаёт календарь с указанным часовым поясом и локалью.

Методы

Модификатор и тип Метод и описание
abstract void add(int field, int amount)

Добавляет или вычитает указанное количество времени к заданному полю календаря, в соответствии с правилами календаря.

boolean after(Object when)

Возвращает, представляет ли этот Calendar время после времени, представленного указанным Object.

boolean before(Object when)

Возвращает, представляет ли этот Calendar время до времени, представленного указанным Object.

void clear()

Устанавливает все значения полей календаря и значение времени (смещение в миллисекундах от эпохи) этого Calendar в неопределённое значение.

void clear(int field)

Устанавливает значение заданного поля календаря и значение времени (смещение в миллисекундах от эпохи) этого Calendar в неопределённое значение.

Object clone()

Создаёт и возвращает копию этого объекта.

int compareTo(Calendar anotherCalendar)

Сравнивает значения времени (смещения в миллисекундах от эпохи), представленные двумя Calendar объектами.

protected void complete()

Заполняет любые не заданные поля в полях календаря.

protected abstract void computeFields()

Преобразует текущее значение времени в миллисекундах time в значения полей календаря в fields[].

protected abstract void computeTime()

Преобразует текущие значения полей календаря в fields[] в значение времени в миллисекундах time.

boolean equals(Object obj)

Сравнивает этот Calendar с указанным Object.

int get(int field)

Возвращает значение данного поля календаря.

int getActualMaximum(int field)

Возвращает максимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого Calendar.

int getActualMinimum(int field)

Возвращает минимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого Calendar.

static Set<String> getAvailableCalendarTypes()

Возвращает неизменяемый Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения.

static Locale[] getAvailableLocales()

Возвращает массив всех локалей, для которых методы getInstance этого класса могут вернуть локализованные экземпляры.

String getCalendarType()

Возвращает тип календаря этого Calendar.

String getDisplayName(int field, int style, Locale locale)

Возвращает строковое представление значения календаря field в заданной style и locale.

Map<String,Integer> getDisplayNames(int field, int style, Locale locale)

Возвращает Map, содержащий все имена календарных field в данной style и locale и соответствующие значения полей.

int getFirstDayOfWeek()

Возвращает, каким является первый день недели; например, SUNDAY в США, MONDAY во Франции.

abstract int getGreatestMinimum(int field)

Возвращает наибольшее минимальное значение для заданного поля календаря этого экземпляра Calendar.

static Calendar getInstance()

Получает календарь с часовым поясом и локалью по умолчанию.

static Calendar getInstance(Locale aLocale)

Получает календарь с часовым поясом по умолчанию и указанной локалью.

static Calendar getInstance(TimeZone zone)

Получает календарь с указанным часовым поясом и локалью по умолчанию.

static Calendar getInstance(TimeZone zone, Locale aLocale)

Получает календарь с указанным часовым поясом и локалью.

abstract int getLeastMaximum(int field)

Возвращает наименьшее максимальное значение для заданного поля календаря этого экземпляра Calendar.

abstract int getMaximum(int field)

Возвращает максимальное значение для заданного поля календаря этого экземпляра Calendar.

int getMinimalDaysInFirstWeek()

Возвращает минимальное количество дней, требуемых в первой неделе года; например, если первая неделя определяется как та, которая содержит первый день первого месяца года, этот метод возвращает 1.

abstract int getMinimum(int field)

Возвращает минимальное значение для заданного поля календаря этого экземпляра Calendar.

Date getTime()

Возвращает объект Date, представляющий значение времени этого Calendar (смещение в миллисекундах от эпохи).

long getTimeInMillis()

Возвращает значение времени этого календаря в миллисекундах.

TimeZone getTimeZone()

Получает часовой пояс.

int getWeeksInWeekYear()

Возвращает количество недель в году недели, представленной этим Calendar.

int getWeekYear()

Возвращает год недели, представленный этим Calendar.

int hashCode()

Возвращает код хеширования для этого календаря.

protected int internalGet(int field)

Возвращает значение данного поля календаря.

boolean isLenient()

Указывает, должна ли интерпретация даты/времени быть гибкой.

boolean isSet(int field)

Определяет, имеет ли указанное поле календаря установленное значение, включая случаи, когда значение было установлено внутренними вычислениями полей, вызванными вызовом метода get.

boolean isWeekDateSupported()

Возвращает, поддерживает ли этот Calendar даты недели.

abstract void roll(int field, boolean up)

Добавляет или вычитает (вверх/вниз) единицу времени к указанному полю времени без изменения больших полей.

void roll(int field, int amount)

Добавляет указанное (знаковое) количество к указанному полю календаря без изменения более крупных полей.

void set(int field, int value)

Устанавливает данное поле календаря в заданное значение.

void set(int year, int month, int date)

Устанавливает значения полей календаря YEAR, MONTH, и DAY_OF_MONTH.

void set(int year, int month, int date, int hourOfDay, int minute)

Устанавливает значения полей календаря YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, и MINUTE.

void set(int year, int month, int date, int hourOfDay, int minute, int second)

Устанавливает значения для полей YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE, и SECOND.

void setFirstDayOfWeek(int value)

Устанавливает, каким является первый день недели; например, SUNDAY в США, MONDAY во Франции.

void setLenient(boolean lenient)

Указывает, должна ли интерпретация даты/времени быть гибкой.

void setMinimalDaysInFirstWeek(int value)

Устанавливает минимальное количество дней, требуемых в первой неделе года. Например, если первая неделя определяется как та, которая содержит первый день первого месяца года, вызовите этот метод со значением 1.

void setTime(Date date)

Устанавливает время этого календаря с помощью данного Date.

void setTimeInMillis(long millis)

Устанавливает текущее время этого календаря из данного значения long.

void setTimeZone(TimeZone value)

Устанавливает часовой пояс с указанным значением часового пояса.

void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)

Устанавливает дату этого Calendar с помощью заданных спецификаторов даты — год недели, неделя года и день недели.

Instant toInstant()

Преобразует этот объект в Instant.

String toString()

Возвращает строковое представление этого календаря.

Методы, унаследованные от класса java.lang.Object

finalize, getClass, notify, notifyAll, wait, wait, wait

Поля

ERA

public static final int ERA

Номер поля для get и set, указывающий на эру, например, AD или BC в юлианском календаре. Это значение, специфичное для календаря; см. документацию подкласса.

См. также:
GregorianCalendar.AD, GregorianCalendar.BC, Значения константных полей

YEAR

public static final int YEAR

Номер поля для get и set, указывающий на год. Это значение, специфичное для календаря; см. документацию подкласса.

См. также:
Значения константных полей

MONTH

public static final int MONTH

Номер поля для get и set , указывающий на месяц. Это значение, специфичное для календаря. Первый месяц года в григорианском и юлианском календарях — JANUARY, который равен 0; последний зависит от количества месяцев в году.

См. также:
JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, DECEMBER, UNDECIMBER, Значения константных полей

WEEK_OF_YEAR

public static final int WEEK_OF_YEAR

Номер поля для get и set , указывающий на номер недели в текущем году. Первая неделя года, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_YEAR для дней до первой недели года.

См. также:
getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), Значения константных полей

WEEK_OF_MONTH

public static final int WEEK_OF_MONTH

Номер поля для get и set , указывающий на номер недели в текущем месяце. Первая неделя месяца, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_MONTH для дней до первой недели месяца.

См. также:
getFirstDayOfWeek(), getMinimalDaysInFirstWeek(), Значения константных полей

DATE

public static final int DATE

Номер поля для get и set , указывающий на день месяца. Это синоним для DAY_OF_MONTH. Первый день месяца имеет значение 1.

См. также:
DAY_OF_MONTH, Значения константных полей

DAY_OF_MONTH

public static final int DAY_OF_MONTH

Номер поля для get и set , указывающий на день месяца. Это синоним для DATE. Первый день месяца имеет значение 1.

См. также:
DATE, Значения константных полей

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.

См. также:
SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, Значения константных полей

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.

См. также:
DAY_OF_WEEK, WEEK_OF_MONTH, Значения константных полей

AM_PM

public static final int AM_PM

Номер поля для get и set , указывающий, является ли HOUR до полудня или после полудня. Например, в 10:04:15.250 PM AM_PM равно PM.

См. также:
AM, PM, HOUR, Значения константных полей

HOUR

public static final int HOUR

Номер поля для get и set , указывающий на час утра или дня. HOUR используется для 12-часовых часов (0 - 11). Полдень и полночь представлены 0, а не 12. Например, в 10:04:15.250 PM HOUR равно 10.

См. также:
AM_PM, HOUR_OF_DAY, Значения константных полей

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.

См. также:
HOUR, Значения константных полей

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

public static final int SUNDAY

Значение поля DAY_OF_WEEK , обозначающего воскресенье.

См. также:
Значения константных полей

MONDAY

public static final int MONDAY

Значение поля DAY_OF_WEEK, обозначающего понедельник.

См. также:
Значения константных полей

ВТОРНИК

public static final int TUESDAY

Значение поля DAY_OF_WEEK, указывающее на вторник.

См. также:
Значения константных полей

СРЕДА

public static final int WEDNESDAY

Значение поля DAY_OF_WEEK, указывающее на среду.

См. также:
Значения константных полей

ЧЕТВЕРГ

public static final int THURSDAY

Значение поля DAY_OF_WEEK, указывающее на четверг.

См. также:
Значения константных полей

ПЯТНИЦА

public static final int FRIDAY

Значение поля DAY_OF_WEEK, указывающее на пятницу.

См. также:
Значения константных полей

СУББОТА

public static final int SATURDAY

Значение поля DAY_OF_WEEK, указывающее на субботу.

См. также:
Значения константных полей

ЯНВАРЬ

public static final int JANUARY

Значение поля MONTH, указывающее на первый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ФЕВРАЛЬ

public static final int FEBRUARY

Значение поля MONTH, указывающее на второй месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

МАРТ

public static final int MARCH

Значение поля MONTH, указывающее на третий месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

АПРЕЛЬ

public static final int APRIL

Значение поля MONTH, указывающее на четвёртый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

МАЙ

public static final int MAY

Значение поля MONTH, указывающее на пятый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ИЮНЬ

public static final int JUNE

Значение поля MONTH, указывающее на шестой месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ИЮЛЬ

public static final int JULY

Значение поля MONTH, указывающее на седьмой месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

АВГУСТ

public static final int AUGUST

Значение поля MONTH, указывающее на восьмой месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

СЕНТЯБРЬ

public static final int SEPTEMBER

Значение поля MONTH, указывающее на девятый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ОКТЯБРЬ

public static final int OCTOBER

Значение поля MONTH, указывающее на десятый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

НОЯБРЬ

public static final int NOVEMBER

Значение поля MONTH, указывающее на одиннадцатый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ДЕКАБРЬ

public static final int DECEMBER

Значение поля MONTH, указывающее на двенадцатый месяц года в григорианском и юлианском календарях.

См. также:
Значения константных полей

ДЕКАБРЬ

public static final int UNDECIMBER

Значение поля MONTH, указывающее на тринадцатый месяц года. Хотя GregorianCalendar не использует это значение, оно используется в лунных календарях.

См. также:
Значения константных полей

ДО ПОЛУДНЯ

public static final int AM

Значение поля AM_PM, указывающее на период дня с полуночи до полудня.

См. также:
Значения константных полей

ПОСЛЕ ПОЛУДНЯ

public static final int PM

Значение поля AM_PM, указывающее на период дня с полудня до полуночи.

См. также:
Значения константных полей

ВСЕ СТИЛИ

public static final int ALL_STYLES

Спецификатор стиля для getDisplayNames, указывающий на имена во всех стилях, например, «Январь» и «Янв».

С:
1.6
См. также:
SHORT_FORMAT, LONG_FORMAT, SHORT_STANDALONE, LONG_STANDALONE, SHORT, LONG, Значения константных полей

КОРОТКО

public static final int SHORT

Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный SHORT_FORMAT.

С:
1.6
См. также:
SHORT_STANDALONE, LONG, Значения константных полей

ДЛИННО

public static final int LONG

Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный LONG_FORMAT.

С:
1.6
См. также:
LONG_STANDALONE, SHORT, Значения константных полей

УЗКИЙ_ФОРМАТ

public static final int NARROW_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на узкое имя, используемое для форматирования. Узкие имена обычно представляют собой строки с одним символом, например, «В» для вторника.

С:
1.8
См. также:
NARROW_STANDALONE, SHORT_FORMAT, LONG_FORMAT, Значения константных полей

УЗКИЙ_НЕЗАВИСИМО

public static final int NARROW_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на узкое имя независимо. Узкие имена обычно представляют собой строки с одним символом, например, «В» для вторника.

С:
1.8
См. также:
NARROW_FORMAT, SHORT_STANDALONE, LONG_STANDALONE, Значения константных полей

КОРОТКО_ФОРМАТ

public static final int SHORT_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на короткое имя, используемое для форматирования.

С:
1.8
См. также:
SHORT_STANDALONE, LONG_FORMAT, LONG_STANDALONE, Значения константных полей

ДЛИННО_ФОРМАТ

public static final int LONG_FORMAT

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на длинное имя, используемое для форматирования.

Since:
1.8
See Also:
LONG_STANDALONE, SHORT_FORMAT, SHORT_STANDALONE, Значения константных полей

SHORT_STANDALONE

public static final int SHORT_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на короткое имя, используемое независимо, например, сокращение месяца в качестве заголовков календаря.

Since:
1.8
See Also:
SHORT_FORMAT, LONG_FORMAT, LONG_STANDALONE, Значения константных полей

LONG_STANDALONE

public static final int LONG_STANDALONE

Спецификатор стиля для getDisplayName и getDisplayNames, указывающий на полное имя, используемое независимо, например, название месяца в качестве заголовков календаря.

Since:
1.8
See Also:
LONG_FORMAT, SHORT_FORMAT, SHORT_STANDALONE, Значения константных полей

fields

protected int[] fields

Значения полей календаря для текущего установленного времени этого календаря. Это массив FIELD_COUNT целых чисел со значениями индексов ERA по DST_OFFSET.

isSet

protected boolean[] isSet

Флаги, указывающие, установлено ли указанное поле календаря для календаря. Новый объект не имеет установленных полей. После первого вызова метода, который генерирует поля, они все остаются установленными после этого. Это массив FIELD_COUNT булевых значений со значениями индексов ERA по DST_OFFSET.

time

protected long time

Текущее установленное время для этого календаря, выраженное в миллисекундах после 1 января 1970 года, 0:00:00 GMT.

See Also:
isTimeSet

isTimeSet

protected boolean isTimeSet

Истинно, если значение time является допустимым. Время становится недопустимым при изменении элемента field[].

See Also:
time

areFieldsSet

protected boolean areFieldsSet

Истинно, если fields[] синхронизированы с текущим установленным временем. Если ложно, то следующая попытка получить значение поля приведет к повторному вычислению всех полей из текущего значения time.

Конструкторы

Calendar

protected Calendar()

Создаёт экземпляр Calendar с часовым поясом по умолчанию и локалью по умолчанию для формата.

See Also:
TimeZone.getDefault()

Calendar

protected Calendar(TimeZone zone,
                   Locale aLocale)

Создаёт экземпляр календаря с указанным часовым поясом и локалью.

Parameters:
zone - часовой пояс для использования
aLocale - локали для данных недели

Методы

getInstance

public static Calendar getInstance()

Возвращает экземпляр календаря с часовым поясом и локалью по умолчанию. Возвращаемый Calendar основан на текущем времени в часовом поясе по умолчанию с локалью по умолчанию для формата.

Returns:
экземпляр Calendar.

getInstance

public static Calendar getInstance(TimeZone zone)

Возвращает экземпляр календаря с указанным часовым поясом и локалью по умолчанию. Возвращаемый Calendar основан на текущем времени в заданном часовом поясе с локалью по умолчанию для формата.

Parameters:
zone - часовой пояс для использования
Returns:
экземпляр Calendar.

getInstance

public static Calendar getInstance(Locale aLocale)

Возвращает экземпляр календаря с часовым поясом по умолчанию и указанной локалью. Возвращаемый Calendar основан на текущем времени в часовом поясе по умолчанию с заданной локалью.

Parameters:
aLocale - локали для данных недели
Returns:
экземпляр Calendar.

getInstance

public static Calendar getInstance(TimeZone zone,
                                   Locale aLocale)

Возвращает экземпляр календаря с указанным часовым поясом и локалью. Возвращаемый Calendar основан на текущем времени в заданном часовом поясе с заданной локалью.

Parameters:
zone - часовой пояс для использования
aLocale - локали для данных недели
Returns:
экземпляр Calendar.

getAvailableLocales

public static Locale[] getAvailableLocales()

Возвращает массив всех локалей, для которых методы этого класса могут вернуть локализованные экземпляры. Возвращаемый массив должен содержать по крайней мере экземпляр Locale равный Locale.US.

Returns:
Массив локалей, для которых доступны локализованные экземпляры Calendar.

computeTime

protected abstract void computeTime()

Преобразует текущие значения полей календаря в fields[] в значение времени в миллисекундах time.

See Also:
complete(), computeFields()

computeFields

protected abstract void computeFields()

Преобразует текущее значение времени в миллисекундах time в значения полей календаря в fields[]. Это позволяет синхронизировать значения полей календаря с новым временем, установленным для календаря. Время не пересчитывается сначала; чтобы пересчитать время, а затем поля, вызовите метод complete().

See Also:
computeTime()

getTime

public final Date getTime()

Возвращает объект Date , представляющий значение времени этого Calendar (смещение в миллисекундах от эпохи).

Returns:
объект Date , представляющий значение времени.
See Also:
setTime(Date), getTimeInMillis()

setTime

public final void setTime(Date date)

Устанавливает время этого Calendar с помощью заданного Date.

Примечание: Вызов setTime() с Date(Long.MAX_VALUE) или Date(Long.MIN_VALUE) может привести к неправильным значениям полей от get().

Parameters:
date - заданный объект Date.
See Also:
getTime(), setTimeInMillis(long)

getTimeInMillis

public long getTimeInMillis()

Возвращает значение времени этого Calendar в миллисекундах.

Returns:
текущее время в миллисекундах UTC от эпохи.
See Also:
getTime(), setTimeInMillis(long)

setTimeInMillis

public void setTimeInMillis(long millis)

Устанавливает текущее время этого Calendar из заданного значения long.

Parameters:
millis - новое время в миллисекундах UTC от эпохи.
See Also:
setTime(Date), getTimeInMillis()

get

public int get(int field)

Возвращает значение данного поля календаря. В режиме мягкого режима все поля календаря приводятся к нормальному виду. В режиме строгого режима все поля календаря проверяются, и этот метод выбрасывает исключение, если значения каких-либо полей календаря находятся вне диапазона. Нормализация и проверка обрабатываются методом complete(), который зависит от системы календаря.

Parameters:
field - заданное поле календаря.
Returns:
значение для заданного поля календаря.
Throws:
ArrayIndexOutOfBoundsException - если заданное поле выходит за пределы диапазона (field < 0 || field >= FIELD_COUNT).
See Also:
set(int,int), complete()

internalGet

protected final int internalGet(int field)

Возвращает значение заданного поля календаря. Этот метод не включает нормализацию или проверку значения поля.

Parameters:
field - заданное поле календаря.
Returns:
значение для заданного поля календаря.
See Also:
get(int)

set

public void set(int field,
                int value)

Устанавливает значение заданного поля календаря. Метод не интерпретирует значение независимо от режима мягкого или строгого режима.

Parameters:
field - заданное поле календаря.
value - значение для установки заданного поля календаря.
Throws:
ArrayIndexOutOfBoundsException - если заданное поле выходит за пределы диапазона (field < 0 || field >= FIELD_COUNT). в режиме строгого режима.
See Also:
set(int,int,int), set(int,int,int,int,int), set(int,int,int,int,int,int), get(int)

set

public final void set(int year,
                      int month,
                      int date)

Устанавливает значения полей календаря YEAR, MONTH, и DAY_OF_MONTH. Предыдущие значения других полей календаря сохраняются. Если этого не нужно, сначала вызовите clear().

Parameters:
year - значение, используемое для установки поля YEAR календаря.
month - значение, используемое для установки поля MONTH календаря. Значение месяца имеет основу 0. Например, 0 для января.
date - значение, используемое для установки поля DAY_OF_MONTH календаря.
See Also:
set(int,int), set(int,int,int,int,int), set(int,int,int,int,int,int)

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 для января.
date - значение, используемое для установки поля календаря DAY_OF_MONTH.
hourOfDay - значение, используемое для установки поля календаря HOUR_OF_DAY.
minute - значение, используемое для установки поля календаря MINUTE.
См. также:
set(int,int), set(int,int,int), set(int,int,int,int,int,int)

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 для января.
date - значение, используемое для установки поля календаря DAY_OF_MONTH.
hourOfDay - значение, используемое для установки поля календаря HOUR_OF_DAY.
minute - значение, используемое для установки поля календаря MINUTE.
second - значение, используемое для установки поля календаря SECOND.
См. также:
set(int,int), set(int,int,int,int,int), set(int,int,int)

clear

public final void clear()

Устанавливает все значения полей календаря и значение времени (миллисекундное смещение от эпохи) этого Calendar в неопределенное значение. Это означает, что isSet() вернёт false для всех полей календаря, и расчёты даты и времени будут рассматривать поля как если бы они никогда не были установлены. Класс реализации Calendar может использовать свои специфические значения по умолчанию для расчётов даты/времени. Например, GregorianCalendar использует 1970, если значение поля YEAR не определено.

См. также:
clear(int)

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 - поле календаря, которое нужно очистить.
См. также:
clear()

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. Этот метод вызывает get(field) для получения значения поля календаря field если строковое представление применимо к заданному полю календаря field.

Например, если этот Calendar — это GregorianCalendar, и его дата — 2005-01-01, то строковое представление поля MONTH будет «Январь» в длинном формате в английском языке или «Янв» в коротком формате. Однако, для поля DAY_OF_MONTH строкового представления не будет, и этот метод вернёт null.

Реализация по умолчанию поддерживает поля календаря, для которых в заданном locale есть имена в DateFormatSymbols.

Параметры:
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, возвращаемая карта будет содержать «Янв» для JANUARY, «Фев» для FEBRUARY и так далее, в формате короткий в английской локали.

Узкие названия могут не быть уникальными из-за использования одиночных символов, таких как «В» для воскресенья и субботы. В этом случае узкие названия не включаются в возвращаемую Map.

Значения других полей календаря могут учитываться для определения набора отображаемых имен. Например, если этот Calendar — это лунно-солнечная система календаря и значение года, заданное полем YEAR, имеет високосный месяц, этот метод вернёт имена месяцев, содержащие имя високосного месяца, и имена месяцев сопоставлены с их значениями, специфичными для года.

Реализация по умолчанию поддерживает отображаемые имена, содержащиеся в DateFormatSymbols. Например, если field — это MONTH и style — ALL_STYLES, этот метод возвращает Map, содержащий все строки, возвращаемые DateFormatSymbols.getShortMonths() и DateFormatSymbols.getMonths().

Параметры:
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 недействительны, или если этот Calendar не мягкий и любое из полей календаря имеет недействительные значения
NullPointerException - если locale равно null
С:
1.6

complete

protected void complete()

Заполняет все не установленные поля в календаре. Сначала вызывается метод computeTime(), если значение времени (миллисекундное смещение от эпохи) не было вычислено из значений полей календаря. Затем вызывается метод computeFields() для вычисления всех значений полей календаря.

getAvailableCalendarTypes

public static Set<String> getAvailableCalendarTypes()

Возвращает неизменяемый Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения. Доступные типы календарей могут использоваться для расширений локали Unicode. Возвращаемый Set содержит как минимум "gregory". Типы календарей не включают псевдонимы, такие как "gregorian" для "gregory".

Возвращает:
неизменяемый Set, содержащий все доступные типы календарей
С:
1.8
См. также:
getCalendarType(), Calendar.Builder.setCalendarType(String), Locale.getUnicodeLocaleType(String)

getCalendarType

public String getCalendarType()

Возвращает тип календаря этого Calendar. Типы календарей определяются спецификацией Unicode Locale Data Markup Language (LDML).

В стандартной реализации этого метода возвращается имя класса этого экземпляра Calendar. Любые подклассы, реализующие системы календарей, определённые LDML, должны переопределять этот метод для возвращения соответствующих типов календарей.

Возвращает:
тип календаря, определённый LDML, или имя класса этого экземпляра Calendar
С:
1.8
См. также:
Расширения локалей, Locale.Builder.setLocale(Locale), Locale.Builder.setUnicodeLocaleKeyword(String, String)

equals

public boolean equals(Object obj)

Сравнивает этот Calendar с указанным Object. Результат равен true, если и только если аргумент является объектом Calendar той же системы календаря, представляющим ту же временную метку (смещение в миллисекундах от эпохи) при тех же Calendar параметрах, что и этот объект.

Calendar параметры — это значения, представленные методами isLenient, getFirstDayOfWeek, getMinimalDaysInFirstWeek и getTimeZone. Если есть какие-либо различия в этих параметрах между двумя Calendar объектами, этот метод возвращает false.

Используйте метод compareTo для сравнения только временных меток.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для сравнения.
Возвращает:
true если этот объект равен obj; false в противном случае.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Возвращает код хэша для этого календаря.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэша для этого объекта.
С:
1.2
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

before

public boolean before(Object when)

Возвращает, представляет ли этот Calendar время до времени, представленного указанным Object. Этот метод эквивалентен:

compareTo(when) < 0
, если и только если when является экземпляром Calendar. В противном случае метод возвращает false.

Параметры:
when - сравниваемый Object
Возвращает:
true если время этого Calendar предшествует времени, представленному when; false в противном случае.
См. также:
compareTo(Calendar)

after

public boolean after(Object when)

Возвращает, представляет ли этот Calendar время после времени, представленного указанным Object. Этот метод эквивалентен:

compareTo(when) > 0
, если и только если when является экземпляром Calendar. В противном случае метод возвращает false.

Параметры:
when - сравниваемый Object
Возвращает:
true если время этого Calendar после времени, представленного when; false в противном случае.
См. также:
compareTo(Calendar)

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)

Добавляет или вычитает заданное количество времени к заданному полю календаря, основываясь на правилах календаря. Например, чтобы вычесть 5 дней из текущего времени календаря, можно сделать это, вызвав:

add(Calendar.DAY_OF_MONTH, -5).

Параметры:
field - поле календаря.
amount - количество даты или времени, которое нужно добавить к полю.
См. также:
roll(int,int), set(int,int)

roll

public abstract void roll(int field,
                          boolean up)

Добавляет или вычитает (вверх/вниз) единицу времени по заданному полю времени без изменения больших полей. Например, чтобы переместить текущую дату на один день вперёд, можно сделать это, вызвав:

roll(Calendar.DATE, true). При прокрутке по полю года или Calendar.YEAR значение года будет изменяться в диапазоне от 1 до значения, возвращаемого вызовом getMaximum(Calendar.YEAR). При прокрутке по полю месяца или Calendar.MONTH другие поля, например, дата, могут конфликтовать и нуждаются в изменении. Например, при прокрутке месяца на 01/31/96 результат будет 02/29/96. При прокрутке по полю часа или Calendar.HOUR_OF_DAY значение часа будет изменяться в диапазоне от 0 до 23, что основано на нуле.

Параметры:
field - поле времени.
up - указывает, увеличивается ли значение указанного поля времени или уменьшается. Используйте true для увеличения, false в противном случае.
См. также:
add(int,int), set(int,int)

roll

public void roll(int field,
                 int amount)

Добавляет указанное (со знаком) количество к указанному полю календаря, не изменяя больших полей. Отрицательное количество означает сдвиг вниз.

ПРИМЕЧАНИЕ: Эта стандартная реализация на Calendar просто многократно вызывает версию roll(), которая увеличивает или уменьшает на единицу. Это может не всегда давать правильный результат. Например, если поле DAY_OF_MONTH равно 31, прокрутка через февраль оставит его равным 28. Версия GregorianCalendar этой функции решает эту проблему. Другие подклассы также должны предоставлять переопределения этой функции, которые давали бы правильный результат.

Параметры:
field - поле календаря.
amount - количество со знаком, добавляемое к полю календаря field.
С:
1.2
См. также:
roll(int,boolean), add(int,int), set(int,int)

setTimeZone

public void setTimeZone(TimeZone value)

Устанавливает часовой пояс с указанным значением часового пояса.

Параметры:
value - заданный часовой пояс.

getTimeZone

public TimeZone getTimeZone()

Получает часовой пояс.

Возвращает:
объект часового пояса, связанный с этим календарём.

setLenient

public void setLenient(boolean lenient)

Указывает, следует ли интерпретировать дату/время свободно. При свободной интерпретации дата, такая как "февраль 942, 1996", будет рассматриваться как эквивалентная 941-му дню после 1 февраля 1996 года. При строгой (не свободной) интерпретации такие даты приведут к сбрасыванию исключения. По умолчанию используется свободная интерпретация.

Параметры:
lenient - true если режим свободной интерпретации должен быть включен; false если его следует выключить.
См. также:
isLenient(), DateFormat.setLenient(boolean)

isLenient

public boolean isLenient()

Определяет, должна ли интерпретация даты/времени быть свободной.

Возвращает:
true если режим интерпретации этого календаря свободный; false в противном случае.
См. также:
setLenient(boolean)

setFirstDayOfWeek

public void setFirstDayOfWeek(int value)

Устанавливает, какой день является первым днём недели; например, SUNDAY в США, MONDAY во Франции.

Параметры:
value - заданный первый день недели.
См. также:
getFirstDayOfWeek(), getMinimalDaysInFirstWeek()

getFirstDayOfWeek

public int getFirstDayOfWeek()

Получает, какой день является первым днём недели; например, SUNDAY в США, MONDAY во Франции.

Возвращает:
первый день недели.
См. также:
setFirstDayOfWeek(int), getMinimalDaysInFirstWeek()

setMinimalDaysInFirstWeek

public void setMinimalDaysInFirstWeek(int value)

Устанавливает, сколько минимальных дней требуется в первой неделе года; например, если первая неделя определяется как содержащая первый день первого месяца года, вызовите этот метод со значением 1. Если это должна быть полная неделя, используйте значение 7.

Параметры:
value - заданное минимальное количество дней, требуемое в первой неделе года.
См. также:
getMinimalDaysInFirstWeek()

getMinimalDaysInFirstWeek

public int getMinimalDaysInFirstWeek()

Получает, сколько минимальных дней требуется в первой неделе года; например, если первая неделя определяется как содержащая первый день первого месяца года, этот метод возвращает 1. Если минимальное количество дней должно составлять полную неделю, этот метод возвращает 7.

Возвращает:
минимальное количество дней, необходимых в первой неделе года.
См. также:
setMinimalDaysInFirstWeek(int)

isWeekDateSupported

public boolean isWeekDateSupported()

Возвращает, поддерживает ли этот Calendar даты недели.

Реализация по умолчанию этого метода возвращает false.

Возвращает:
true если этот Calendar поддерживает даты недели; false в противном случае.
С:
1.7
См. также:
getWeekYear(), setWeekDate(int,int,int), getWeeksInWeekYear()

getWeekYear

public int getWeekYear()

Возвращает год недели, представленный этим Calendar. Год недели синхронизирован с циклом недель. Первый день первой недели является первым днём года недели.

Реализация по умолчанию этого метода выбрасывает исключение UnsupportedOperationException.

Возвращает:
год недели этого Calendar
Исключения:
UnsupportedOperationException - если какая-либо нумерация годов недели не поддерживается в этом Calendar.
С:
1.7
См. также:
isWeekDateSupported(), getFirstDayOfWeek(), getMinimalDaysInFirstWeek()

setWeekDate

public void setWeekDate(int weekYear,
                        int weekOfYear,
                        int dayOfWeek)

Устанавливает дату этого Calendar с заданными спецификаторами даты: годом недели, номером недели и днём недели.

В отличие от метода set, все поля календаря и значения time вычисляются по возвращении.

Если weekOfYear находится вне допустимого диапазона недели года в weekYear, значения weekYear и weekOfYear корректируются в режиме lenient, или выбрасывается исключение IllegalArgumentException в режиме non-lenient.

Реализация по умолчанию этого метода выбрасывает исключение UnsupportedOperationException.

Параметры:
weekYear - год недели
weekOfYear - номер недели, основанный на weekYear
dayOfWeek - значение дня недели: одно из констант для поля DAY_OF_WEEK: SUNDAY, ..., SATURDAY.
Исключения:
IllegalArgumentException - если какое-либо из заданных значений даты недействительно или какие-либо поля календаря несовместимы с заданными значениями даты в режиме non-lenient
UnsupportedOperationException - если какая-либо нумерация годов недели не поддерживается в этом Calendar.
С:
1.7
См. также:
isWeekDateSupported(), getFirstDayOfWeek(), getMinimalDaysInFirstWeek()

getWeeksInWeekYear

public int getWeeksInWeekYear()

Возвращает количество недель в году недели, представленном этим Calendar.

Реализация по умолчанию этого метода выбрасывает исключение UnsupportedOperationException.

Возвращает:
количество недель в году недели.
Исключения:
UnsupportedOperationException - если какая-либо нумерация годов недели не поддерживается в этом Calendar.
С:
1.7
См. также:
WEEK_OF_YEAR, isWeekDateSupported(), getWeekYear(), getActualMaximum(int)

getMinimum

public abstract int getMinimum(int field)

Возвращает минимальное значение для данного поля календаря этого экземпляра Calendar. Минимальное значение определяется как наименьшее значение, возвращаемое методом get для любого возможного значения времени. Минимальное значение зависит от параметров конкретной системы календаря экземпляра.

Параметры:
field - поле календаря.
Возвращает:
минимальное значение для данного поля календаря.
См. также:
getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)

getMaximum

public abstract int getMaximum(int field)

Возвращает максимальное значение для данного поля календаря этого экземпляра Calendar. Максимальное значение определяется как наибольшее значение, возвращаемое методом get для любого возможного значения времени. Максимальное значение зависит от параметров конкретной системы календаря экземпляра.

Параметры:
field - поле календаря.
Возвращает:
максимальное значение для данного поля календаря.
См. также:
getMinimum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)

getGreatestMinimum

public abstract int getGreatestMinimum(int field)

Возвращает наибольшее минимальное значение для данного поля календаря этого экземпляра Calendar. Наибольшее минимальное значение определяется как наибольшее значение, возвращаемое методом getActualMinimum(int) для любого возможного значения времени. Наибольшее минимальное значение зависит от параметров конкретной системы календаря экземпляра.

Параметры:
field - поле календаря.
Возвращает:
наибольшее минимальное значение для данного поля календаря.
См. также:
getMinimum(int), getMaximum(int), getLeastMaximum(int), getActualMinimum(int), getActualMaximum(int)

getLeastMaximum

public abstract int getLeastMaximum(int field)

Возвращает наименьшее максимальное значение для данного поля календаря этого экземпляра Calendar. Наименьшее максимальное значение определяется как наименьшее значение, возвращаемое методом getActualMaximum(int) для любого возможного значения времени. Наименьшее максимальное значение зависит от параметров конкретной системы календаря экземпляра. Например, для системы календаря Григорианского календаря метод возвращает 28 для поля DAY_OF_MONTH, так как 28-е число — это последний день самого короткого месяца в этом календаре, февраля в обычном году.

Параметры:
field - поле календаря.
Возвращает:
наименьшее максимальное значение для данного поля календаря.
См. также:
getMinimum(int), getMaximum(int), getGreatestMinimum(int), getActualMinimum(int), getActualMaximum(int)

getActualMinimum

public int getActualMinimum(int field)

Возвращает минимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого экземпляра Calendar.

Реализация по умолчанию этого метода использует итеративный алгоритм для определения фактического минимального значения для поля календаря. Подклассы, если возможно, должны переопределить его более эффективной реализацией — во многих случаях они могут просто вернуть getMinimum().

Параметры:
field - поле календаря
Возвращает:
минимальное значение данного поля календаря для значения времени этого Calendar
С:
1.2
См. также:
getMinimum(int), getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMaximum(int)

getActualMaximum

public int getActualMaximum(int field)

Возвращает максимальное значение, которое может иметь указанное поле календаря, учитывая значение времени этого экземпляра Calendar. Например, фактическое максимальное значение поля MONTH равно 12 в некоторых годах и 13 в других годах в системе календаря иврита.

Реализация по умолчанию этого метода использует итеративный алгоритм для определения фактического максимального значения для поля календаря. Подклассы должны, если возможно, переопределить его более эффективной реализацией.

Параметры:
field - поле календаря
Возвращает:
максимальное значение данного поля календаря для значения времени этого Calendar
С:
1.2
См. также:
getMinimum(int), getMaximum(int), getGreatestMinimum(int), getLeastMaximum(int), getActualMinimum(int)

clone

public Object clone()

Создаёт и возвращает копию этого объекта.

Переопределяет:
clone в классе Object
Возвращает:
копию этого объекта.
См. также:
Cloneable

toString

public String toString()

Возвращает строковое представление этого календаря. Этот метод предназначен только для отладки, и формат возвращаемой строки может различаться в разных реализациях. Возвращаемая строка может быть пустой, но не null.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого календаря.

toInstant

public final Instant toInstant()

Преобразует этот объект в Instant.

Преобразование создаёт Instant, представляющий ту же точку на временной шкале, что и этот Calendar.

Возвращает:
момент, представляющий ту же точку на временной шкале
С:
1.8

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API