Класс 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. Если указанная локаль содержит расширения "fw" и/или "rg" Unicode extensions, первый день недели будет получен в соответствии с этими расширениями. Если указаны оба расширения "fw" и "rg", значение из расширения "fw" имеет приоритет над неявным значением из расширения "rg". Их также можно указать явно с помощью методов для установки их значений. При установке или получении полей 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 и т.д.
Примечание: Существуют определённые возможные неоднозначности в интерпретации некоторых отдельных моментов времени, которые разрешаются следующим образом:
- 23:59 — последняя минута дня, а 00:00 — первая минута следующего дня. Таким образом, 23:59 31 декабря 1999 г. < 00:00 1 января 2000 г. < 00:01 1 января 2000 г.
- Несмотря на то, что исторически это не было точно, полночь также относится к "утра", а полдень — к "дня", поэтому в один и тот же день 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() в зависимости от того, должны ли затрагиваться более крупные поля, пользовательский интерфейс может вести себя так, как интуитивно ожидают большинство пользователей.
- С:
- 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 года, 0: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() |
Устанавливает все значения полей календаря и значение времени (смещение в миллисекундах от Epoch) этого Calendar неопределено. |
final void |
clear |
Устанавливает значение заданного поля календаря и значение времени (смещение в миллисекундах от Epoch) этого Calendar неопределено. |
Object |
clone() |
Создает и возвращает копию этого объекта. |
int |
compareTo |
Сравнивает значения времени (смещения в миллисекундах от Epoch), представленные двумя объектами 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 (смещение в миллисекундах от Epoch). |
long |
getTimeInMillis() |
Возвращает значение времени этого календаря в миллисекундах. |
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 |
Устанавливает время этого календаря с помощью данного Date. |
void |
setTimeInMillis |
Устанавливает текущее время этого календаря из данного значения long. |
void |
setTimeZone |
Устанавливает часовой пояс с помощью данного значения часового пояса. |
void |
setWeekDate |
Устанавливает дату этого Calendar с заданными спецификаторами даты — годом недели, неделей года и днем недели. |
final Instant |
toInstant() |
Преобразует этот объект в Instant. |
String |
toString() |
Возвращает строковое представление этого календаря. |
Подробное описание полей
ЭРА
public static final int ERA
get и set, указывающий на эру, например, н. э. или до н. э. в юлианском календаре. Это значение, специфичное для календаря; см. документацию подкласса.- См. также:
ГОД
public static final int YEAR
get и set, указывающий на год. Это значение, специфичное для календаря; см. документацию подкласса.- См. также:
МЕСЯЦ
public static final int MONTH
get и set, указывающий на месяц. Это значение, специфичное для календаря. Первый месяц года в григорианском и юлианском календарях — JANUARY, который равен 0; последний зависит от количества месяцев в году.- См. также:
НЕДЕЛЯ_ГОДА
public static final int WEEK_OF_YEAR
get и set, указывающий на номер недели в текущем году. Первая неделя года, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_YEAR для дней до первой недели года.- См. также:
НЕДЕЛЯ_МЕСЯЦА
public static final int WEEK_OF_MONTH
get и set, указывающий на номер недели в текущем месяце. Первая неделя месяца, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_MONTH для дней до первой недели месяца.- См. также:
ДАТА
public static final int DATE
get и set, указывающий на день месяца. Это синоним для DAY_OF_MONTH. Первый день месяца имеет значение 1.- См. также:
ДЕНЬ_МЕСЯЦА
public static final int DAY_OF_MONTH
get и set, указывающий на день месяца. Это синоним для DATE. Первый день месяца имеет значение 1.- См. также:
ДЕНЬ_ГОДА
public static final int DAY_OF_YEAR
get и set, указывающий на номер дня в текущем году. Первый день года имеет значение 1.- См. также:
ДЕНЬ_НЕДЕЛИ
public static final int DAY_OF_WEEK
get и set, указывающий на день недели. Если календарь не гибкий, это поле принимает значения SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY и SATURDAY. В противном случае любые целые значения принимаются и нормализуются до одного из упомянутых ранее значений.- См. также:
ДЕНЬ_НЕДЕЛИ_В_МЕСЯЦЕ
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 вечера AM_PM равен PM.- См. также:
ЧАС
public static final int HOUR
get и set, указывающий на час утра или дня. Используется для 12-часовых часов (0 - 11). Полдень и полночь представлены как 0, а не 12. Например, в 10:04:15.250 вечера HOUR равен 10.- См. также:
ЧАС_СУТОК
public static final int HOUR_OF_DAY
get и set, указывающий на час суток. Используется для 24-часовых часов. Например, в 10:04:15.250 вечера HOUR_OF_DAY равен 22.- См. также:
МИНУТА
public static final int MINUTE
get и set, указывающий минуту в часе. Например, в 10:04:15.250 вечера значение MINUTE равно 4.- См. также:
СЕКУНДА
public static final int SECOND
get и set, указывающий секунду в минуте. Например, в 10:04:15.250 вечера значение SECOND равно 15.- См. также:
МИЛЛИСЕКУНДА
public static final int MILLISECOND
get и set, указывающий миллисекунду в секунде. Например, в 10:04:15.250 вечера значение MILLISECOND равно 250.- См. также:
ВРЕМЕННАЯ_ЗОНА_СМЕЩЕНИЕ
public static final int ZONE_OFFSET
get и set, указывающий смещение от GMT в миллисекундах. Это поле отражает правильное значение смещения по временной зоне этого Calendar, если реализация класса TimeZone поддерживает изменения исторического смещения от GMT.
- См. также:
СМЕЩЕНИЕ_ЛЕТНЕГО_ВРЕМЕНИ
public static final int DST_OFFSET
get и set, указывающий смещение летнего времени в миллисекундах. Это поле отражает правильное значение смещения летнего времени по временной зоне этого Calendar, если реализация класса TimeZone поддерживает изменения исторических настроек летнего времени.
- См. также:
КОЛИЧЕСТВО_ПОЛЕЙ
public static final int FIELD_COUNT
get и set. Номера полей находятся в диапазоне 0..FIELD_COUNT-1.- См. также:
ВОСКРЕСЕНЬЕ
ПОНЕДЕЛЬНИК
ВТОРНИК
СРЕДА
ЧЕТВЕРГ
ПЯТНИЦА
СУББОТА
ЯНВАРЬ
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 не использует это значение, лунные календари его используют.- См. также:
AM
public static final int AM
AM_PM, обозначающее период дня от полуночи до перед полуднем.- См. также:
PM
public static final int PM
AM_PM, обозначающее период дня от полудня до перед полуночью.- См. также:
ВСЕ_СТИЛИ
public static final int ALL_STYLES
getDisplayNames, указывающий имена во всех стилях, таких как "Январь" и "Янв".- С:
- 1.6
- См. также:
КОРОТКО
public static final int SHORT
- С:
- 1.6
- См. также:
ДЛИННО
public static final int LONG
- С:
- 1.6
- См. также:
УЗКИЙ_ФОРМАТ
public static final int NARROW_FORMAT
getDisplayName и getDisplayNames, указывающий узкое имя, используемое для форматирования. Узкие имена обычно представляют собой строки из одного символа, такие как "П" для понедельника.- С:
- 1.8
- См. также:
УЗКИЙ_ОТДЕЛЬНО
public static final int NARROW_STANDALONE
getDisplayName и getDisplayNames, указывающий узкое имя независимо. Узкие имена обычно представляют собой строки из одного символа, такие как "П" для понедельника.- С:
- 1.8
- См. также:
КОРОТКО_ФОРМАТ
public static final int SHORT_FORMAT
getDisplayName и getDisplayNames, указывающий короткое имя, используемое для форматирования.- С:
- 1.8
- См. также:
ДЛИННО_ФОРМАТ
public static final int LONG_FORMAT
getDisplayName и getDisplayNames, указывающий длинное имя, используемое для форматирования.- С:
- 1.8
- См. также:
КОРОТКО_ОТДЕЛЬНО
public static final int SHORT_STANDALONE
getDisplayName и getDisplayNames, указывающий короткое имя, используемое независимо, например, сокращение месяца в заголовках календаря.- С:
- 1.8
- См. также:
ДЛИННО_ОТДЕЛЬНО
public static final int LONG_STANDALONE
getDisplayName и getDisplayNames, указывающий длинное имя, используемое независимо, например, имя месяца в заголовках календаря.- С:
- 1.8
- См. также:
Поля
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[] синхронизированы с текущим установленным временем. Если ложь, то следующая попытка получить значение поля заставит пересчитать все поля из текущего значения time.Подробности конструкторов
Calendar
protected Calendar()
FORMAT.- См. также:
Calendar
protected Calendar(TimeZone zone, Locale aLocale)
- Параметры:
-
zone- используемый часовой пояс -
aLocale- локаль для данных недели
Подробности методов
getInstance
public static Calendar getInstance()
Calendar основан на текущем времени в часовом поясе по умолчанию с локалью по умолчанию FORMAT. Если локаль содержит часовой пояс с расширением Unicode "tz", используется этот часовой пояс.
- Возвращает:
- календарь.
getInstance
public static Calendar getInstance(TimeZone zone)
Calendar основан на текущем времени в заданном часовом поясе с локалью по умолчанию FORMAT.- Параметры:
-
zone- используемый часовой пояс - Возвращает:
- календарь.
- Исключения:
-
NullPointerException- еслиzoneравенnull
getInstance
public static Calendar getInstance(Locale aLocale)
Calendar основан на текущем времени в часовом поясе по умолчанию с заданной локалью. Если локаль содержит часовой пояс с расширением Unicode "tz", используется этот часовой пояс.
- Параметры:
-
aLocale- локаль для данных недели - Возвращает:
- календарь.
- Исключения:
-
NullPointerException- еслиaLocaleравенnull
getInstance
public static Calendar getInstance(TimeZone zone, Locale aLocale)
Calendar основан на текущем времени в заданном часовом поясе с заданной локалью.- Параметры:
-
zone- используемый часовой пояс -
aLocale- локаль для данных недели - Возвращает:
- календарь.
- Исключения:
-
NullPointerException- еслиzoneилиaLocaleравныnull
getAvailableLocales
public static Locale[] getAvailableLocales()
Locale, равный Locale.ROOT, и экземпляр Locale, равный Locale.US.- Возвращает:
- Массив локалей, для которых доступны локализованные экземпляры
Calendar.
computeTime
computeFields
protected abstract void computeFields()
time в значения полей календаря в fields[]. Это позволяет синхронизировать значения полей календаря с новым установленным временем для календаря. Время не пересчитывается заранее; чтобы пересчитать время, а затем поля, вызовите метод complete().- См. также:
getTime
public final Date getTime()
Date, представляющий значение времени этого Calendar (смещение в миллисекундах от Эпохи).- Возвращает:
- объект
Date, представляющий значение времени. - См. также:
setTime
public final void setTime(Date date)
Date. Примечание: Вызов setTime() с Date(Long.MAX_VALUE) или Date(Long.MIN_VALUE) может привести к неправильным значениям полей из get().
- Параметры:
-
date- заданный объект 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не в режиме lenient и какие-либо поля календаря имеют недопустимые значения. - См. также:
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 для января. -
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 для января. -
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 для января. -
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. Этот метод вызывает get(field) для получения значения поля календаря field, если строковое представление применимо к данному полю календаря field. Например, если этот Calendar является GregorianCalendar и его дата равна 2005-01-01, то строковое представление поля MONTH будет "Январь" в длинном стиле в английском локали или "Янв" в коротком стиле. Однако строкового представления для поля 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, возвращаемая карта будет содержать "Янв" для JANUARY, "Фев" для FEBRUARY и так далее в стиле краткого формата в локали английского языка. Узкие имена могут не быть уникальными из-за использования одиночных символов, таких как "В" для воскресенья и субботы. В этом случае узкие имена не включаются в возвращаемую Map.
Значения других полей календаря могут учитываться для определения набора отображаемых имен. Например, если этот Calendar представляет собой лунно-солнечный календарь, и значение года, заданное полем YEAR, имеет високосный месяц, этот метод вернёт имена месяцев, содержащие имя високосного месяца, и имена месяцев будут сопоставлены со значениями, специфичными для этого года.
Реализация по умолчанию поддерживает отображаемые имена, содержащиеся в DateFormatSymbols. Например, если field равен MONTH, а style равен ALL_STYLES, этот метод возвращает Map, содержащую все строки, возвращаемые методами DateFormatSymbols.getShortMonths() и DateFormatSymbols.getMonths().
В отличие от getDisplayName(int, int, Locale), этот метод не будет выбрасывать IllegalArgumentException, если Calendar не является мягким и любое из полей календаря имеет недопустимые значения. Вместо этого этот метод вернёт либо null, либо Map.
- Parameters:
-
field- поле календаря, для которого возвращаются отображаемые имена -
style- стиль, применяемый к строковому представлению; один изSHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMATилиNARROW_STANDALONE -
locale- локаль для отображаемых имён - Returns:
Map, содержащую все отображаемые имена вstyleиlocaleи их значения полей, илиnull, если дляfieldне определены отображаемые имена- Throws:
-
IllegalArgumentException- еслиfieldилиstyleнекорректны -
NullPointerException- еслиlocaleравно null - Since:
- 1.6
complete
protected void complete()
computeTime(), если значение времени (смещение в миллисекундах от эпохи) не было рассчитано из значений полей календаря. Затем вызывается метод computeFields() для расчёта всех значений полей календаря.getAvailableCalendarTypes
public static Set<String> getAvailableCalendarTypes()
Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения. Доступные типы календарей могут использоваться для расширений локали Unicode. Возвращаемый Set содержит по крайней мере "gregory". Типы календарей не включают псевдонимы, такие как "gregorian" для "gregory".- Returns:
- неизменяемый
Set, содержащий все доступные типы календарей - Since:
- 1.8
- See Also:
getCalendarType
public String getCalendarType()
Calendar. Типы календарей определяются спецификацией Unicode Locale Data Markup Language (LDML). Реализация по умолчанию этого метода возвращает имя класса этого экземпляра Calendar. Любые подклассы, реализующие системы календарей, определённые LDML, должны переопределить этот метод, чтобы вернуть соответствующие типы календарей.
- Returns:
- тип календаря, определённый LDML, или имя класса этого экземпляра
Calendar - Since:
- 1.8
- See Also:
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.- Parameters:
-
when-Objectдля сравнения - Returns:
-
true, если время этогоCalendarменьше времени, представленногоwhen;falseв противном случае. - See Also:
after
public boolean after(Object when)
Calendar, после времени, представленного указанным Object. Этот метод эквивалентен:
compareTo(when) > 0
, если и только если when является экземпляром Calendar. В противном случае метод возвращает false.- Parameters:
-
when-Objectдля сравнения - Returns:
-
true, если время этогоCalendarпосле времени, представленногоwhen;falseв противном случае. - See Also:
compareTo
public int compareTo(Calendar anotherCalendar)
Calendar.- Specified by:
-
compareToв интерфейсеComparable<Calendar> - Parameters:
-
anotherCalendar- сравниваемый объектCalendar. - Returns:
- значение
0, если время, представленное аргументом, равно времени, представленному этим объектомCalendar; значение меньше0, если время этого объектаCalendarпредшествует времени, представленному аргументом; и значение больше0, если время этого объектаCalendarследует за временем, представленным аргументом. - Throws:
-
NullPointerException- если указанный объектCalendarявляетсяnull. -
IllegalArgumentException- если значение времени указанного объектаCalendarне может быть получено из-за каких-либо некорректных значений календаря. - Since:
- 1.5
add
public abstract void add(int field, int amount)
add(Calendar.DAY_OF_MONTH, -5).
- Parameters:
-
field- поле календаря. -
amount- количество добавляемого к полю значения даты или времени. - Throws:
-
IllegalArgumentException- если этот объектCalendarне является мягким и какие-либо из полей календаря имеют некорректные значения, или если полеfieldимеет значениеZONE_OFFSET,DST_OFFSETили неизвестно. - See Also:
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, что является нулевым.
- Parameters:
-
field- поле времени. -
up- указывает, будет ли значение указанного поля времени прокручиваться вверх или вниз. Используйте true, если прокручивается вверх, false в противном случае. - Throws:
-
IllegalArgumentException- если этот объектCalendarне является мягким и какие-либо из полей календаря имеют некорректные значения, или если полеfieldимеет значениеZONE_OFFSET,DST_OFFSETили неизвестно. - See Also:
roll
public void roll(int field, int amount)
ПРИМЕЧАНИЕ: Эта реализация по умолчанию в Calendar просто многократно вызывает версию roll(), которая прокручивает на одну единицу. Это может не всегда работать правильно. Например, если поле DAY_OF_MONTH равно 31, прокрутка через февраль оставит его равным 28. GregorianCalendar версия этой функции решает эту проблему. Другие подклассы также должны предоставить переопределения этой функции, которые работают правильно.
- Parameters:
-
field- поле календаря. -
amount- знаковое количество, которое нужно добавить к полюfieldкалендаря. - Throws:
-
IllegalArgumentException- если этот объектCalendarне является мягким и какие-либо из полей календаря имеют некорректные значения, или если полеfieldимеет значениеZONE_OFFSET,DST_OFFSETили неизвестно. - Since:
- 1.2
- See Also:
setTimeZone
public void setTimeZone(TimeZone value)
- Parameters:
-
value- заданный часовой пояс.
getTimeZone
public TimeZone getTimeZone()
- Returns:
- объект часового пояса, связанный с этим календарём.
setLenient
public void setLenient(boolean lenient)
- Parameters:
-
lenient-true, если режим мягкости должен быть включен;false, если его следует выключить. - See Also:
isLenient
public boolean isLenient()
- Returns:
-
true, если режим интерпретации этого календаря мягкий;falseв противном случае. - See Also:
setFirstDayOfWeek
public void setFirstDayOfWeek(int value)
SUNDAY в США, MONDAY во Франции.- Parameters:
-
value- заданный первый день недели. - See Also:
getFirstDayOfWeek
public int getFirstDayOfWeek()
SUNDAY в США, MONDAY во Франции.- Returns:
- первый день недели.
- See Also:
setMinimalDaysInFirstWeek
public void setMinimalDaysInFirstWeek(int value)
- Parameters:
-
value- заданное минимальное количество дней, необходимых в первой неделе года. - See Also:
getMinimalDaysInFirstWeek
public int getMinimalDaysInFirstWeek()
- Returns:
- минимальное количество дней, необходимых в первой неделе года.
- See Also:
isWeekDateSupported
public boolean isWeekDateSupported()
Calendar даты недели. Реализация по умолчанию этого метода возвращает false.
- Returns:
-
true, если этотCalendarподдерживает даты недель;falseв противном случае. - Since:
- 1.7
- See Also:
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.
- Возвращает:
- мгновение, представляющее ту же точку на временной шкале
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Calendar.html