Класс 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, первый день недели будет получен в соответствии с этими расширениями. Если указаны оба расширения "fw" и "rg", значение из расширения "fw" переопределяет неявное значение из расширения "rg". Их также можно указать явно с помощью методов для установки их значений. При установке или получении полей WEEK_OF_MONTH или WEEK_OF_YEAR Calendar должен определить первую неделю месяца или года в качестве точки отсчета. Первая неделя месяца или года определяется как самый ранний семидневный период, начинающийся в getFirstDayOfWeek() и содержащий как минимум getMinimalDaysInFirstWeek() дня данного месяца или года. Неделям с номерами ..., -1, 0 предшествует первая неделя; недели с номерами 2, 3... следуют за ней. Обратите внимание, что нормализованные номера, возвращаемые get(), могут отличаться. Например, конкретный подкласс Calendar может обозначить неделю, предшествующую 1-й неделе года, как неделю n предыдущего года.
Разрешение календарных полей
При вычислении даты и времени из календарных полей может быть недостаточно информации для вычисления (например, только год и месяц без дня месяца) или может быть противоречивая информация (например, вторник, 15 июля 1996 г. (григорианский) — 15 июля 1996 г. на самом деле понедельник).Calendar будет разрешать значения календарных полей для определения даты и времени следующим образом. Если возникнет конфликт в значениях календарных полей, Calendar отдаёт приоритет календарным полям, которые были установлены позже. Ниже приведены стандартные комбинации календарных полей. Будет использоваться наиболее недавняя комбинация, определяемая последним установленным полем.
Для полей времени суток:YEAR + MONTH + DAY_OF_MONTH YEAR + MONTH + WEEK_OF_MONTH + DAY_OF_WEEK YEAR + MONTH + DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK YEAR + DAY_OF_YEAR YEAR + DAY_OF_WEEK + WEEK_OF_YEAR
HOUR_OF_DAY AM_PM + HOUR
Если какие-либо календарные поля в выбранной комбинации полей не были установлены, Calendar использует их значения по умолчанию. Значение по умолчанию для каждого поля может варьироваться в зависимости от конкретной календарной системы. Например, в GregorianCalendar, значение по умолчанию поля совпадает со значением начала эпохи: т.е. YEAR = 1970, MONTH =
JANUARY, DAY_OF_MONTH = 1, и т.д.
Примечание: Существует ряд возможных неоднозначностей в интерпретации определенных моментов времени, которые разрешаются следующим образом:
- 23:59 — последняя минута дня, а 00:00 — первая минута следующего дня. Таким образом, 23:59 31 декабря 1999 г. < 00:00 1 января 2000 г. < 00:01 1 января 2000 г.
- Несмотря на историческую неточность, полночь также относится к "am", а полдень — к "pm", поэтому в один и тот же день 12:00 am (полночь) < 12:01 am, и 12:00 pm (полдень) < 12:01 pm
Форматы строк даты или времени не являются частью определения календаря, поскольку они должны быть изменяемы или переопределяемы пользователем во время выполнения. Для форматирования дат используйте DateFormat.
Обработка полей
Календарные поля можно изменить с помощью трёх методов:set(), add() и roll(). set(f, value) изменяет календарное поле f на value. Кроме того, он устанавливает внутреннюю переменную-член, указывающую на то, что календарное поле f было изменено. Хотя календарное поле f изменяется немедленно, значение времени календаря в миллисекундах пересчитывается только при следующем вызове get(), getTime(), getTimeInMillis(), add() или roll(). Таким образом, несколько вызовов set() не вызывают несколько ненужных вычислений. В результате изменения календарного поля с помощью set(), другие календарные поля также могут измениться, в зависимости от календарного поля, значения календарного поля и календарной системы. Кроме того, get(f) необязательно вернёт значение value, установленное вызовом метода set после пересчёта календарных полей. Конкретные детали определяются конкретным классом календаря.
Пример: Рассмотрим GregorianCalendar, первоначально установленный на 31 августа 1999 года. Вызов set(Calendar.MONTH,
Calendar.SEPTEMBER) устанавливает дату на 31 сентября 1999 года. Это временное внутреннее представление, которое преобразуется в 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 |
Текущее время для этого календаря, выраженное в миллисекундах после 00:00:00 GMT 1 января 1970 года. |
static final int |
TUESDAY |
Значение поля DAY_OF_WEEK, указывающее на вторник. |
static final int |
UNDECIMBER |
Значение поля MONTH, указывающее на тринадцатый месяц года. |
static final int |
WEDNESDAY |
Значение поля DAY_OF_WEEK, указывающее на среду. |
static final int |
WEEK_OF_MONTH |
Номер поля для get и set , указывающий номер недели в текущем месяце. |
static final int |
WEEK_OF_YEAR |
Номер поля для get и set , указывающий номер недели в текущем году. |
static final int |
YEAR |
Номер поля для get и set , указывающий год. |
static final int |
ZONE_OFFSET |
Номер поля для get и set , указывающий необработанное смещение от GMT в миллисекундах. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт календарь с часовым поясом по умолчанию и локалью FORMAT по умолчанию. |
|
protected |
Создаёт календарь с заданным часовым поясом и локалью. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
add |
Добавляет или вычитает указанное количество времени к заданному полю календаря, основываясь на правилах календаря. |
boolean |
after |
Возвращает, представляет ли это Calendar время после времени, представленного указанным Object. |
boolean |
before |
Возвращает, представляет ли это Calendar время до времени, представленного указанным Object. |
final void |
clear() |
Устанавливает все значения полей календаря и значение времени (смещение в миллисекундах от эпохи) этого Calendar как неопределённые. |
final void |
clear |
Устанавливает заданное значение поля календаря и значение времени (смещение в миллисекундах от эпохи) этого Calendar как неопределённые. |
Object |
clone() |
Создаёт и возвращает копию этого объекта. |
int |
compareTo |
Сравнивает значения времени (смещения в миллисекундах от эпохи), представленные двумя объектами Calendar. |
protected void |
complete() |
Заполняет любые не заданные поля в полях календаря. |
protected abstract void |
computeFields() |
|
protected abstract void |
computeTime() |
|
boolean |
equals |
Сравнивает это Calendar с указанным Object. |
int |
get |
Возвращает значение заданного поля календаря. |
int |
getActualMaximum |
Возвращает максимальное значение, которое может иметь заданное поле календаря, учитывая значение времени этого Calendar. |
int |
getActualMinimum |
Возвращает минимальное значение, которое может иметь заданное поле календаря, учитывая значение времени этого Calendar. |
static Set |
getAvailableCalendarTypes() |
Возвращает неизменяемый Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения. |
static Locale[] |
getAvailableLocales() |
Возвращает массив всех локалей, для которых методы getInstance этого класса могут возвращать локализованные экземпляры. |
String |
getCalendarType() |
Возвращает тип календаря этого Calendar. |
String |
getDisplayName |
Возвращает строковое представление значения поля календаря field в заданной style и locale. |
Map |
getDisplayNames |
Возвращает Map, содержащий все имена полей календаря field в заданных style и locale и их соответствующие значения. |
int |
getFirstDayOfWeek() |
Возвращает, какой день недели является первым; например, SUNDAY в США, MONDAY во Франции. |
abstract int |
getGreatestMinimum |
Возвращает наибольшее минимальное значение для заданного поля календаря этого экземпляра Calendar. |
static Calendar |
getInstance() |
Возвращает календарь, используя по умолчанию часовой пояс и локаль. |
static Calendar |
getInstance |
Возвращает календарь, используя по умолчанию часовой пояс и заданную локаль. |
static Calendar |
getInstance |
Возвращает календарь, используя заданный часовой пояс и локаль по умолчанию. |
static Calendar |
getInstance |
Возвращает календарь с заданным часовым поясом и локалью. |
abstract int |
getLeastMaximum |
Возвращает наименьшее максимальное значение для заданного поля календаря этого экземпляра Calendar. |
abstract int |
getMaximum |
Возвращает максимальное значение для заданного поля календаря этого экземпляра Calendar. |
int |
getMinimalDaysInFirstWeek() |
Возвращает минимальное количество дней, требуемых в первой неделе года; например, если первая неделя определяется как та, которая содержит первый день первого месяца года, этот метод возвращает 1. |
abstract int |
getMinimum |
Возвращает минимальное значение для заданного поля календаря этого экземпляра Calendar. |
final Date |
getTime() |
Возвращает объект Date, представляющий значение времени этого Calendar (смещение в миллисекундах от эпохи). |
long |
getTimeInMillis() |
Возвращает значение времени этого календаря в миллисекундах. |
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() |
Возвращает строковое представление этого календаря. |
Подробное описание полей
ERA
public static final int ERA
get и set, указывающий на эру, например, AD или BC в юлианском календаре. Это значение, специфичное для календаря; см. документацию подкласса.- См. также:
YEAR
public static final int YEAR
get и set, указывающий на год. Это значение, специфичное для календаря; см. документацию подкласса.- См. также:
MONTH
public static final int MONTH
get и set, указывающий на месяц. Это значение, специфичное для календаря. Первый месяц года в григорианском и юлианском календарях — JANUARY, который равен 0; последний зависит от количества месяцев в году.- См. также:
WEEK_OF_YEAR
public static final int WEEK_OF_YEAR
get и set, указывающий на номер недели в текущем году. Первая неделя года, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_YEAR для дней до первой недели года.- См. также:
WEEK_OF_MONTH
public static final int WEEK_OF_MONTH
get и set , указывающий на номер недели в текущем месяце. Первая неделя месяца, как определено getFirstDayOfWeek() и getMinimalDaysInFirstWeek(), имеет значение 1. Подклассы определяют значение WEEK_OF_MONTH для дней до первой недели месяца.- См. также:
DATE
public static final int DATE
get и set , указывающий на день месяца. Это синоним для DAY_OF_MONTH. Первый день месяца имеет значение 1.- См. также:
DAY_OF_MONTH
public static final int DAY_OF_MONTH
get и set , указывающий на день месяца. Это синоним для DATE. Первый день месяца имеет значение 1.- См. также:
DAY_OF_YEAR
public static final int DAY_OF_YEAR
get и set , указывающий на порядковый номер дня в текущем году. Первый день года имеет значение 1.- См. также:
DAY_OF_WEEK
public static final int DAY_OF_WEEK
get и set , указывающий на день недели. Если календарь не гибкий, это поле принимает значения SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, и SATURDAY. В противном случае принимаются любые целочисленные значения, которые приводятся к одному из вышеупомянутых значений.- См. также:
DAY_OF_WEEK_IN_MONTH
public static final int DAY_OF_WEEK_IN_MONTH
get и set , указывающий на порядковый номер дня недели в текущем месяце. Вместе с полем DAY_OF_WEEK, это поле однозначно определяет день в месяце. В отличие от WEEK_OF_MONTH и WEEK_OF_YEAR, значение этого поля не зависит от getFirstDayOfWeek() или getMinimalDaysInFirstWeek(). DAY_OF_MONTH 1 по 7 всегда соответствуют DAY_OF_WEEK_IN_MONTH
1; 8 по 14 соответствуют DAY_OF_WEEK_IN_MONTH 2, и так далее. DAY_OF_WEEK_IN_MONTH 0 указывает на неделю до DAY_OF_WEEK_IN_MONTH 1. Отрицательные значения отсчитываются от конца месяца, поэтому последняя суббота месяца указывается как DAY_OF_WEEK = SUNDAY, DAY_OF_WEEK_IN_MONTH = -1. Поскольку отрицательные значения отсчитываются назад, они обычно выстраиваются в месяце по-другому, чем положительные значения. Например, если месяц имеет 31 день, DAY_OF_WEEK_IN_MONTH -1 перекрывает DAY_OF_WEEK_IN_MONTH 5 и конец 4. - См. также:
AM_PM
public static final int AM_PM
get и set , указывающий, предшествует ли HOUR полудню или следует за ним. Например, в 10:04:15.250 вечера AM_PM равно PM.- См. также:
HOUR
public static final int HOUR
get и set , указывающий на час утра или дня. HOUR используется для 12-часовых часов (0 - 11). Полдень и полночь представлены 0, а не 12. Например, в 10:04:15.250 вечера HOUR составляет 10.- См. также:
HOUR_OF_DAY
public static final int HOUR_OF_DAY
get и set , указывающий на час суток. HOUR_OF_DAY используется для 24-часовых часов. Например, в 10:04:15.250 вечера HOUR_OF_DAY составляет 22.- См. также:
MINUTE
public static final int MINUTE
get и set , указывающий на минуту в часе. Например, в 10:04:15.250 вечера MINUTE составляет 4.- См. также:
ВТОРАЯ
public static final int SECOND
get и set , указывающий секунду в минуте. Например, в 22:04:15.250 SECOND равно 15.- См. также:
МИЛЛИСЕКУНДА
public static final int MILLISECOND
get и set , указывающий миллисекунду в секунде. Например, в 22:04:15.250 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.- См. также:
ВОСКРЕСЕНЬЕ
public static final int SUNDAY
DAY_OF_WEEK, обозначающее воскресенье.- См. также:
ПОНЕДЕЛЬНИК
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, обозначающее двенадцатый месяц года в григорианском и юлианском календарях.- См. также:
UNDECIMBER
public static final int UNDECIMBER
MONTH, указывающее на тринадцатый месяц года. Хотя GregorianCalendar не использует это значение, лунные календари используют.- См. также:
AM
public static final int AM
AM_PM, указывающее на период дня от полуночи до момента непосредственно перед полуднем.- См. также:
PM
public static final int PM
AM_PM, указывающее на период дня от полудня до момента непосредственно перед полуночью.- См. также:
ALL_STYLES
public static final int ALL_STYLES
getDisplayNames, указывающий имена во всех стилях, таких как "January" и "Jan".- С версии:
- 1.6
- См. также:
SHORT
public static final int SHORT
- С версии:
- 1.6
- См. также:
LONG
public static final int LONG
- С версии:
- 1.6
- См. также:
NARROW_FORMAT
public static final int NARROW_FORMAT
getDisplayName и getDisplayNames, указывающий на короткое имя, используемое для форматирования. Короткое имя обычно представляет собой строку из одного символа, например, "M" для понедельника.- С версии:
- 1.8
- См. также:
NARROW_STANDALONE
public static final int NARROW_STANDALONE
getDisplayName и getDisplayNames, указывающий на короткое имя, используемое независимо. Короткое имя обычно представляет собой строку из одного символа, например, "M" для понедельника.- С версии:
- 1.8
- См. также:
SHORT_FORMAT
public static final int SHORT_FORMAT
getDisplayName и getDisplayNames, указывающий на короткое имя, используемое для форматирования.- С версии:
- 1.8
- См. также:
LONG_FORMAT
public static final int LONG_FORMAT
getDisplayName и getDisplayNames, указывающий на полное имя, используемое для форматирования.- С версии:
- 1.8
- См. также:
SHORT_STANDALONE
public static final int SHORT_STANDALONE
getDisplayName и getDisplayNames, указывающий на короткое имя, используемое независимо, например, сокращение месяца в качестве заголовков календаря.- С версии:
- 1.8
- См. также:
LONG_STANDALONE
public static final int LONG_STANDALONE
getDisplayName и getDisplayNames, указывающий на полное имя, используемое независимо, например, название месяца в качестве заголовков календаря.- С версии:
- 1.8
- См. также:
fields
protected int[] fields
FIELD_COUNT целых чисел с индексами от ERA до DST_OFFSET.isSet
protected boolean[] isSet
FIELD_COUNT булевых значений с индексами от ERA до DST_OFFSET.time
protected long time
- См. также:
isTimeSet
protected boolean isTimeSet
time является допустимым. Время становится недопустимым при изменении элемента field[].- См. также:
areFieldsSet
protected boolean areFieldsSet
fields[] синхронизированы с текущим установленным временем. Если ложь, то следующая попытка получить значение поля приведет к пересчету всех полей из текущего значения time.Подробное описание конструкторов
Calendar
protected Calendar()
FORMAT.- См. также:
Calendar
protected Calendar(TimeZone zone, Locale aLocale)
- Параметры:
-
zone- часовой пояс для использования -
aLocale- локаль для данных недели
Подробное описание методов
getInstance
public static Calendar getInstance()
Calendar основан на текущем времени в часовом поясе по умолчанию с локалью по умолчанию FORMAT. Если локаль содержит часовой пояс с расширением "tz" Unicode extension, используется этот часовой пояс.
- Возвращает:
- календарь.
getInstance
public static Calendar getInstance(TimeZone zone)
Calendar основан на текущем времени в заданном часовом поясе с локалью по умолчанию FORMAT.- Параметры:
-
zone- используемый часовой пояс - Возвращает:
- календарь.
- Исключения:
-
NullPointerException- еслиzoneявляетсяnull
getInstance
public static Calendar getInstance(Locale aLocale)
Calendar основан на текущем времени в часовом поясе по умолчанию с заданной локалью. Если локаль содержит часовой пояс с расширением "tz" Unicode extension, используется этот часовой пояс.
- Параметры:
-
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
protected abstract void 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- заданная дата. - Исключения:
-
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 до 11). Например, 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 до 11). Например, 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().- Parameters:
-
year- значение, используемое для установки поля календаряYEAR. -
month- значение, используемое для установки поля календаряMONTH. Значение месяца основано на нуле. Например, 0 для января. -
date- значение, используемое для установки поля календаряDAY_OF_MONTH. -
hourOfDay- значение, используемое для установки поля календаряHOUR_OF_DAY. -
minute- значение, используемое для установки поля календаряMINUTE. -
second- значение, используемое для установки поля календаряSECOND. - See Also:
clear
public final void clear()
Calendar в неопределённое состояние. Это означает, что isSet() вернёт false для всех полей календаря, и вычисления даты и времени будут обрабатывать поля так, как будто они никогда не устанавливались. Класс реализации Calendar может использовать свои собственные значения полей по умолчанию для вычислений даты и времени. Например, GregorianCalendar использует 1970, если значение поля YEAR не определено.- See Also:
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), чтобы сбросить значение часа.
- Parameters:
-
field- поле календаря, которое необходимо очистить. - See Also:
isSet
public final boolean isSet(int field)
get.- Parameters:
-
field- поле календаря, которое необходимо проверить - Returns:
-
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.
Если строкового представления для Calendar field нет, и календарь находится в режиме без строгой проверки, а любые поля календаря имеют недопустимые значения, возвращается null. Если строковое представление для Calendar field есть, и календарь находится в режиме без строгой проверки, а любые поля календаря имеют недопустимые значения, будет брошено исключение IllegalArgumentException.
- Parameters:
-
field- поле календаря, для которого возвращается строковое представление -
style- стиль, применяемый к строковому представлению; один изSHORT_FORMAT(SHORT),SHORT_STANDALONE,LONG_FORMAT(LONG),LONG_STANDALONE,NARROW_FORMATилиNARROW_STANDALONE. -
locale- локали для строкового представления (любые типы календарей, указанныеlocale, игнорируются) - Returns:
- строковое представление заданного
fieldв заданномstyle, илиnullесли строковое представление неприменимо. - Throws:
-
IllegalArgumentException- еслиfieldилиstyleнекорректны, или если этотCalendarне в режиме строгой проверки и любые поля календаря имеют недопустимые значения -
NullPointerException- еслиlocaleравно null - Since:
- 1.6
getDisplayNames
public Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
Map, содержащий все имена полей календаря field в заданном style и locale, а также соответствующие значения полей. Например, если этот Calendar является GregorianCalendar, возвращаемый map будет содержать «Янв» к 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:
- a
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 в среде выполнения. Доступные типы календарей могут быть использованы для расширений локалей Юникода. Возвращаемый Set содержит как минимум "gregory". Типы календарей не включают псевдонимы, такие как "gregorian" для "gregory". - Возвращает:
- неизменяемый
Set, содержащий все доступные типы календарей - С:
- 1.8
- См. также:
getCalendarType
public String getCalendarType()
Calendar. Типы календарей определяются спецификацией Unicode Locale Data Markup Language (LDML). По умолчанию этот метод возвращает имя класса этого экземпляра Calendar. Любые подклассы, реализующие LDML-определённые системы календарей, должны переопределить этот метод, чтобы возвращать соответствующие типы календарей.
- Возвращает:
- определённый LDML тип календаря или имя класса этого экземпляра
Calendar - С:
- 1.8
- См. также:
equals
public boolean equals(Object obj)
Calendar с указанным Object. Результат — true тогда и только тогда, когда аргумент является объектом Calendar той же системы календаря, представляющей ту же временную метку (смещение в миллисекундах от эпохи) при тех же параметрах Calendar этого объекта. Параметры Calendar — значения, представленные методами isLenient, getFirstDayOfWeek, getMinimalDaysInFirstWeek и getTimeZone. Если между двумя Calendar существуют какие-либо различия в этих параметрах, этот метод возвращает false.
Используйте метод compareTo, чтобы сравнивать только временные метки.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения. - Возвращает:
-
trueесли этот объект равенobj;falseв противном случае. - См. также:
hashCode
public int hashCode()
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- С:
- 1.2
- См. также:
before
public boolean before(Object when)
Calendar время, предшествующее времени, представленному указанным Object. Этот метод эквивалентен:
compareTo(when) < 0
тогда и только тогда, когда when является экземпляром Calendar. В противном случае метод возвращает false. - Параметры:
-
when- сравниваемыйObject - Возвращает:
-
trueесли время этогоCalendarпредшествует времени, представленномуwhen;falseв противном случае. - См. также:
after
public boolean after(Object when)
Calendar время, последующее за временем, представленным указанным Object. Этот метод эквивалентен:
compareTo(when) > 0
тогда и только тогда, когда when является экземпляром Calendar. В противном случае метод возвращает false. - Параметры:
-
when- сравниваемыйObject - Возвращает:
-
trueесли время этогоCalendarпоследующее за временем, представленнымwhen;falseв противном случае. - См. также:
compareTo
public int compareTo(Calendar anotherCalendar)
Calendar. - Определяется:
-
compareToв интерфейсеComparable<Calendar> - Параметры:
-
anotherCalendar- сравниваемыйCalendar. - Возвращает:
- значение
0если время, представленное аргументом, равно времени, представленному этимCalendar; значение меньше0если время этогоCalendarпредшествует времени, представленному аргументом; и значение больше0если время этогоCalendarпоследующее за временем, представленным аргументом. - Исключения:
-
NullPointerException- если указанныйCalendarявляетсяnull. -
IllegalArgumentException- если значение временной метки указанного объектаCalendarне может быть получено из-за некорректных значений календаря. - С:
- 1.5
add
public abstract void add(int field, int amount)
add(Calendar.DAY_OF_MONTH, -5).
- Параметры:
-
field- поле календаря. -
amount- количество добавляемого или вычитаемого времени к полю. - Исключения:
-
IllegalArgumentException- если этотCalendarне гибкий и любое из полей календаря имеет некорректные значения или еслиfieldявляетсяZONE_OFFSET,DST_OFFSET, или неизвестным. - См. также:
roll
public abstract void roll(int field, boolean up)
roll(Calendar.DATE, true). При перемотке по полю года или Calendar.YEAR, значение года будет перемотано в диапазоне от 1 до значения, возвращаемого вызовом getMaximum(Calendar.YEAR). При перемотке по полю месяца или Calendar.MONTH, другие поля, такие как дата, могут конфликтовать и необходимо будет их изменить. Например, перемотка по месяцу для даты 01/31/96 даст 02/29/96. При перемотке по полю час-в-сутки или Calendar.HOUR_OF_DAY, значение часа будет перемотано в диапазоне от 0 до 23, что основано на нуле.
- Параметры:
-
field- поле времени. -
up- указывает, будет ли значение указанного поля времени перемотано вверх или вниз. Используйте true для перемотки вверх, false в противном случае. - Исключения:
-
IllegalArgumentException- если этотCalendarне гибкий и любое из полей календаря имеет некорректные значения, или еслиfieldявляетсяZONE_OFFSET,DST_OFFSET, или неизвестным. - См. также:
roll
public void roll(int field, int amount)
ПРИМЕЧАНИЕ: Эта реализация по умолчанию для Calendar просто многократно вызывает версию roll(), которая перематывает на единицу. Это может не всегда давать правильный результат. Например, если поле DAY_OF_MONTH равно 31, перемотка через февраль оставит его равным 28. Реализация GregorianCalendar версии этой функции решает эту проблему. Другие подклассы также должны предоставить переопределения этой функции, которые дадут правильный результат.
- Параметры:
-
field- поле календаря. -
amount- числовое значение, добавляемое к полю календаря. - Исключения:
-
IllegalArgumentException- если этотCalendarне гибкий и любое из полей календаря имеет некорректные значения или еслиfieldявляетсяZONE_OFFSET,DST_OFFSET, или неизвестным. - С:
- 1.2
- См. также:
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.
- Returns:
- год недели этого
Calendar - Throws:
-
UnsupportedOperationException- если какая-либо нумерация года недели не поддерживается в этомCalendar. - Since:
- 1.7
- See Also:
setWeekDate
public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Calendar с заданными спецификаторами даты — годом недели, номером недели и днем недели. В отличие от метода set, все значения полей календаря и time вычисляются при возврате.
Если weekOfYear находится вне допустимого диапазона недели в weekYear, значения weekYear и
weekOfYear корректируются в лояльном режиме или выбрасывается
IllegalArgumentException в нелояльном режиме.
Реализация по умолчанию этого метода выбрасывает UnsupportedOperationException.
- Parameters:
-
weekYear- год недели -
weekOfYear- номер недели на основеweekYear -
dayOfWeek- значение дня недели: одна из констант для поляDAY_OF_WEEK:SUNDAY, ...,SATURDAY. - Throws:
-
IllegalArgumentException- если какое-либо из заданных значений даты недействительно или любое из полей календаря несовместимо с заданными значениями даты в режиме без лояльности -
UnsupportedOperationException- если какая-либо нумерация года недели не поддерживается в этомCalendar. - Since:
- 1.7
- See Also:
getWeeksInWeekYear
public int getWeeksInWeekYear()
Calendar. Реализация по умолчанию этого метода выбрасывает UnsupportedOperationException.
- Returns:
- количество недель в году недели.
- Throws:
-
UnsupportedOperationException- если какая-либо нумерация года недели не поддерживается в этомCalendar. - Since:
- 1.7
- See Also:
getMinimum
public abstract int getMinimum(int field)
Calendar. Минимальное значение определяется как наименьшее значение, возвращаемое методом get для любого возможного значения времени. Минимальное значение зависит от параметров, специфичных для системы календаря, экземпляра.- Parameters:
-
field- поле календаря. - Returns:
- минимальное значение для данного поля календаря.
- See Also:
getMaximum
public abstract int getMaximum(int field)
Calendar. Максимальное значение определяется как наибольшее значение, возвращаемое методом get для любого возможного значения времени. Максимальное значение зависит от параметров, специфичных для системы календаря, экземпляра.- Parameters:
-
field- поле календаря. - Returns:
- максимальное значение для данного поля календаря.
- See Also:
Наибольшее минимальное значение
public abstract int getGreatestMinimum(int field)
Calendar экземпляра. Наибольшее минимальное значение определяется как наибольшее значение, возвращаемое методом getActualMinimum(int) для любого возможного значения времени. Наибольшее минимальное значение зависит от параметров, специфичных для системы календаря экземпляра.- Параметры:
-
field- календарное поле. - Возвращает:
- наибольшее минимальное значение для данного календарного поля.
- См. также:
Наименьшее максимальное значение
public abstract int getLeastMaximum(int field)
Calendar экземпляра. Наименьшее максимальное значение определяется как наименьшее значение, возвращаемое методом getActualMaximum(int) для любого возможного значения времени. Наименьшее максимальное значение зависит от параметров, специфичных для системы календаря экземпляра. Например, для системы календаря Григорианского календаря возвращается значение 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
public Object clone()
- Переопределяет:
-
cloneв классеObject - Возвращает:
- копию этого объекта.
- См. также:
toString
public String toString()
null.- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого календаря.
toInstant
public final Instant toInstant()
Instant. Преобразование создаёт Instant, который представляет ту же точку на временной шкале, что и этот Calendar.
- Возвращает:
- момент времени, представляющий ту же точку на временной шкале
- С:
- 1.8
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Calendar.html