Spec-Zone.ru › OpenJDK 27

Класс GregorianCalendar

java.lang.Object
java.util.Calendar
java.util.GregorianCalendar
Все реализованные интерфейсы:
Serializable, Cloneable, Comparable<Calendar>
public class GregorianCalendar extends Calendar
GregorianCalendar — конкретный подкласс Calendar, предоставляющий стандартную календарную систему, используемую в большинстве стран мира.

GregorianCalendar — гибридный календарь, поддерживающий как юлианскую, так и григорианскую календарные системы с одной точкой перехода, которая по умолчанию соответствует григорианской дате введения григорианского календаря (15 октября 1582 года в некоторых странах, позднее — в других). Вызывающий код может изменить дату перехода, вызвав setGregorianChange().

Исторически в странах, первыми принявших григорианский календарь, за 4 октября 1582 года (по юлианскому календарю) последовало 15 октября 1582 года (по григорианскому календарю). Этот календарь корректно моделирует данный переход. До перехода на григорианский календарь GregorianCalendar реализует юлианский календарь. Единственное различие между григорианским и юлианским календарями заключается в правиле високосного года. В юлианском календаре каждый четвёртый год является високосным, тогда как в григорианском календаре годы, оканчивающиеся на нули, не считаются високосными, если они не делятся на 400.

GregorianCalendar реализует пролептические григорианский и юлианский календари. То есть даты вычисляются путём неограниченной экстраполяции действующих правил как в прошлое, так и в будущее. В результате GregorianCalendar можно использовать для всех лет, получая осмысленные и последовательные результаты. Однако даты, полученные с помощью GregorianCalendar, исторически точны только начиная с 1 марта 4 года нашей эры, когда были приняты современные правила юлианского календаря. До этой даты правила високосных лет применялись нерегулярно, а до 45 года до нашей эры юлианского календаря вообще не существовало.

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

Неделя года и неделя календарного года

Значения, вычисляемые для поля WEEK_OF_YEAR, находятся в диапазоне от 1 до 53. Первая неделя календарного года — это самый ранний семидневный период, начинающийся в getFirstDayOfWeek() и содержащий не менее getMinimalDaysInFirstWeek() дней этого года. Таким образом, она зависит от значений getMinimalDaysInFirstWeek(), getFirstDayOfWeek() и дня недели, на который приходится 1 января. Недели между первой неделей одного года и первой неделей следующего года (не включая последнюю) нумеруются последовательно от 2 до 52 или 53 (за исключением года или лет, затронутых переходом с юлианского на григорианский календарь).

Значения getFirstDayOfWeek() и getMinimalDaysInFirstWeek() инициализируются с использованием ресурсов, зависящих от локали, при создании GregorianCalendar. Определение недели совместимо со стандартом ISO 8601, если getFirstDayOfWeek() равно MONDAY, а getMinimalDaysInFirstWeek() равно 4; эти значения используются в локалях, где предпочтителен данный стандарт. Их можно задать явно, вызвав setFirstDayOfWeek() и setMinimalDaysInFirstWeek().

Неделя календарного года синхронизирована с циклом WEEK_OF_YEAR. Все недели между первой и последней неделями включительно имеют одинаковое значение недели календарного года. Поэтому первые и последние дни недели календарного года могут относиться к разным календарным годам.

Например, 1 января 1998 года приходится на четверг. Если getFirstDayOfWeek() равно MONDAY, а getMinimalDaysInFirstWeek() равно 4 (настройка, совместимая со стандартом ISO 8601), то первая неделя 1998 года начинается 29 декабря 1997 года и заканчивается 4 января 1998 года. Для последних трёх дней календарного 1997 года неделей календарного года является 1998 год. Однако если getFirstDayOfWeek() равно SUNDAY, то первая неделя 1998 года начинается 4 января 1998 года и заканчивается 10 января 1998 года; тогда первые три дня 1998 года относятся к 53-й неделе 1997 года, а их неделя календарного года — 1997 год.

Неделя месяца

Значения, вычисляемые для поля WEEK_OF_MONTH, находятся в диапазоне от 0 до 6. Первая неделя месяца (дни со значением WEEK_OF_MONTH = 1) — это самый ранний набор как минимум из getMinimalDaysInFirstWeek() последовательных дней этого месяца, заканчивающийся накануне getFirstDayOfWeek(). В отличие от первой недели года, первая неделя месяца может быть короче 7 дней, не обязана начинаться в getFirstDayOfWeek() и не включает дни предыдущего месяца. Дни месяца, предшествующие первой неделе, имеют значение WEEK_OF_MONTH, равное 0.

Например, если getFirstDayOfWeek() равно SUNDAY, а getMinimalDaysInFirstWeek() равно 4, то первая неделя января 1998 года длится с воскресенья, 4 января, по субботу, 10 января. Значение WEEK_OF_MONTH для этих дней равно 1. Для дней с четверга, 1 января, по субботу, 3 января значение WEEK_OF_MONTH равно 0. Если изменить getMinimalDaysInFirstWeek() на 3, то для дней с 1 по 3 января значение WEEK_OF_MONTH будет равно 1.

Значения полей по умолчанию

Метод clear делает значения полей календаря неопределёнными. Если значение поля календаря неопределённо, GregorianCalendar использует для него следующее значение по умолчанию.

Значения полей GregorianCalendar по умолчанию
Поле Значение по умолчанию
ERA AD
YEAR 1970
MONTH JANUARY
DAY_OF_MONTH 1
DAY_OF_WEEK the first day of week
WEEK_OF_MONTH 0
DAY_OF_WEEK_IN_MONTH 1
AM_PM AM
HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND 0

Значения по умолчанию не применяются к полям, не перечисленным выше.

Пример:

// get the supported ids for GMT-08:00 (Pacific Standard Time)
String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
// if no ids were returned, something is wrong. get out.
if (ids.length == 0)
    System.exit(0);

 // begin output
System.out.println("Current Time");

// create a Pacific Standard Time time zone
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);

// set up rules for Daylight Saving Time
pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);

// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
Date trialTime = new Date();
calendar.setTime(trialTime);

// print out a bunch of interesting things
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
                   + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
                   + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET: "
                   + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("Current Time, with hour reset to 3");
calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
calendar.set(Calendar.HOUR, 3);
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
                   + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
       + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
System.out.println("DST_OFFSET: "
       + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
Начиная с версии:
1.1
См. также:
  • TimeZone
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в классе Calendar

Calendar.Builder
Модификатор и тип Класс Описание
static class  Calendar.Builder
Calendar.Builder используется для создания Calendar из различных параметров даты и времени.

Краткое описание полей

Модификатор и тип Поле Описание
static final int AD
Значение поля ERA, обозначающее нашу эру (Anno Domini), также известную как CE.
static final int BC
Значение поля ERA, обозначающее период до нашей эры (до Рождества Христова), также известный как BCE.

Поля, объявленные в классе Calendar

ALL_STYLES, AM, AM_PM, APRIL, areFieldsSet, AUGUST, DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_WEEK_IN_MONTH, DAY_OF_YEAR, DECEMBER, DST_OFFSET, ERA, FEBRUARY, FIELD_COUNT, fields, FRIDAY, HOUR, HOUR_OF_DAY, isSet, isTimeSet, JANUARY, JULY, JUNE, LONG, LONG_FORMAT, LONG_STANDALONE, MARCH, MAY, MILLISECOND, MINUTE, MONDAY, MONTH, NARROW_FORMAT, NARROW_STANDALONE, NOVEMBER, OCTOBER, PM, SATURDAY, SECOND, SEPTEMBER, SHORT, SHORT_FORMAT, SHORT_STANDALONE, SUNDAY, THURSDAY, time, TUESDAY, UNDECIMBER, WEDNESDAY, WEEK_OF_MONTH, WEEK_OF_YEAR, YEAR, ZONE_OFFSET
Модификатор и тип Поле Описание
static final int ALL_STYLES
Спецификатор стиля для getDisplayNames, указывающий на имена во всех стилях, например «January» и «Jan».
static final int AM
Значение поля Calendar.AM_PM, обозначающее период дня от полуночи до полудня.
static final int AM_PM
Номер поля для get и set, указывающий, находится ли HOUR до или после полудня.
static final int APRIL
Значение поля Calendar.MONTH, обозначающее четвёртый месяц года в григорианском и юлианском календарях.
protected boolean areFieldsSet
Истинно, если fields[] синхронизированы с установленным временем.
static final int AUGUST
Значение поля Calendar.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
Значение поля Calendar.MONTH, обозначающее двенадцатый месяц года в григорианском и юлианском календарях.
static final int DST_OFFSET
Номер поля для get и set, указывающий смещение летнего времени в миллисекундах.
static final int ERA
Номер поля для get и set, указывающий эру, например AD или BC в юлианском календаре.
static final int FEBRUARY
Значение поля Calendar.MONTH, обозначающее второй месяц года в григорианском и юлианском календарях.
static final int FIELD_COUNT
Количество различных полей, распознаваемых get и set.
protected int[] fields
Значения полей календаря, соответствующие установленному для этого календаря времени.
static final int FRIDAY
Значение поля Calendar.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
Значение поля Calendar.MONTH, обозначающее первый месяц года в григорианском и юлианском календарях.
static final int JULY
Значение поля Calendar.MONTH, обозначающее седьмой месяц года в григорианском и юлианском календарях.
static final int JUNE
Значение поля Calendar.MONTH, обозначающее шестой месяц года в григорианском и юлианском календарях.
static final int LONG
Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный Calendar.LONG_FORMAT.
static final int LONG_FORMAT
Спецификатор стиля для getDisplayName и getDisplayNames, обозначающий длинное имя, используемое при форматировании.
static final int LONG_STANDALONE
Спецификатор стиля для getDisplayName и getDisplayNames, обозначающий длинное имя, используемое отдельно, например название месяца в заголовке календаря.
static final int MARCH
Значение поля Calendar.MONTH, обозначающее третий месяц года в григорианском и юлианском календарях.
static final int MAY
Значение поля Calendar.MONTH, обозначающее пятый месяц года в григорианском и юлианском календарях.
static final int MILLISECOND
Номер поля для get и set, указывающий миллисекунду внутри секунды.
static final int MINUTE
Номер поля для get и set, указывающий минуту внутри часа.
static final int MONDAY
Значение поля Calendar.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
Значение поля Calendar.MONTH, обозначающее одиннадцатый месяц года в григорианском и юлианском календарях.
static final int OCTOBER
Значение поля Calendar.MONTH, обозначающее десятый месяц года в григорианском и юлианском календарях.
static final int PM
Значение поля Calendar.AM_PM, обозначающее период дня от полудня до полуночи.
static final int SATURDAY
Значение поля Calendar.DAY_OF_WEEK, обозначающее субботу.
static final int SECOND
Номер поля для get и set, указывающий секунду внутри минуты.
static final int SEPTEMBER
Значение поля Calendar.MONTH, обозначающее девятый месяц года в григорианском и юлианском календарях.
static final int SHORT
Спецификатор стиля для getDisplayName и getDisplayNames, эквивалентный Calendar.SHORT_FORMAT.
static final int SHORT_FORMAT
Спецификатор стиля для getDisplayName и getDisplayNames, обозначающий короткое имя, используемое при форматировании.
static final int SHORT_STANDALONE
Спецификатор стиля для getDisplayName и getDisplayNames, обозначающий короткое имя, используемое отдельно, например сокращение названия месяца в заголовке календаря.
static final int SUNDAY
Значение поля Calendar.DAY_OF_WEEK, обозначающее воскресенье.
static final int THURSDAY
Значение поля Calendar.DAY_OF_WEEK, обозначающее четверг.
protected long time
Установленное для этого календаря время, выраженное в миллисекундах с 1 января 1970 года, 0:00:00 GMT.
static final int TUESDAY
Значение поля Calendar.DAY_OF_WEEK, обозначающее вторник.
static final int UNDECIMBER
Значение поля Calendar.MONTH, обозначающее тринадцатый месяц года.
static final int WEDNESDAY
Значение поля Calendar.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 в миллисекундах.

Краткое описание конструкторов

Конструктор Описание
GregorianCalendar()
Создаёт GregorianCalendar по умолчанию, используя текущее время в часовом поясе по умолчанию и локаль FORMAT по умолчанию.
GregorianCalendar(int year, int month, int dayOfMonth)
Создаёт GregorianCalendar с заданной датой в часовом поясе по умолчанию и локалью по умолчанию.
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
Создаёт GregorianCalendar с заданными датой и временем в часовом поясе по умолчанию и локалью по умолчанию.
GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
Создаёт GregorianCalendar с заданными датой и временем в часовом поясе по умолчанию и локалью по умолчанию.
GregorianCalendar(Locale aLocale)
Создаёт GregorianCalendar на основе текущего времени в часовом поясе по умолчанию и заданной локали.
GregorianCalendar(TimeZone zone)
Создаёт GregorianCalendar на основе текущего времени в заданном часовом поясе и локали FORMAT по умолчанию.
GregorianCalendar(TimeZone zone, Locale aLocale)
Создаёт GregorianCalendar на основе текущего времени в заданном часовом поясе и заданной локали.

Краткое описание методов

Модификатор и тип Метод Описание
void add(int field, int amount)
Добавляет указанное (знаковое) значение времени к заданному полю календаря в соответствии с правилами календаря.
protected void computeFields()
Преобразует значение времени (смещение в миллисекундах относительно эпохи) в значения полей календаря.
protected void computeTime()
Преобразует значения полей календаря в значение времени (смещение в миллисекундах относительно эпохи).
boolean equals(Object obj)
Сравнивает этот GregorianCalendar с указанным Object.
static GregorianCalendar from(ZonedDateTime zdt)
Получает экземпляр GregorianCalendar с локалью по умолчанию из объекта ZonedDateTime.
int getActualMaximum(int field)
Возвращает максимальное значение, которое может иметь это поле календаря, с учетом заданного значения времени и текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
int getActualMinimum(int field)
Возвращает минимальное значение, которое может иметь это поле календаря, с учетом заданного значения времени и текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
String getCalendarType()
Возвращает "gregory" в качестве типа календаря.
int getGreatestMinimum(int field)
Возвращает наибольшее минимальное значение для заданного поля календаря этого экземпляра GregorianCalendar.
final Date getGregorianChange()
Получает дату перехода на григорианский календарь.
int getLeastMaximum(int field)
Возвращает наименьшее максимальное значение для заданного поля календаря этого экземпляра GregorianCalendar.
int getMaximum(int field)
Возвращает максимальное значение для заданного поля календаря этого экземпляра GregorianCalendar.
int getMinimum(int field)
Возвращает минимальное значение для заданного поля календаря этого экземпляра GregorianCalendar.
int getWeeksInWeekYear()
Возвращает количество недель в недельном году, представленном этим GregorianCalendar.
int getWeekYear()
Возвращает недельный год, представленный этим GregorianCalendar.
int hashCode()
Вычисляет хеш-код этого объекта GregorianCalendar.
boolean isLeapYear(int year)
Определяет, является ли заданный год високосным.
final boolean isWeekDateSupported()
Возвращает true, указывающее, что этот GregorianCalendar поддерживает даты в формате недель.
void roll(int field, boolean up)
Увеличивает или уменьшает значение на одну единицу времени в заданном поле времени, не изменяя старшие поля.
void roll(int field, int amount)
Добавляет знаковое значение к указанному полю календаря, не изменяя старшие поля.
void setGregorianChange(Date date)
Задает дату перехода на GregorianCalendar.
void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Задает для этого GregorianCalendar дату, указанную компонентами даты: weekYear, weekOfYear и dayOfWeek.
ZonedDateTime toZonedDateTime()
Преобразует этот объект в ZonedDateTime, представляющий тот же момент на временной шкале, что и этот GregorianCalendar.

Методы, объявленные в классе Calendar

after, before, clear, clear, clone, compareTo, complete, get, getAvailableCalendarTypes, getAvailableLocales, getDisplayName, getDisplayNames, getFirstDayOfWeek, getInstance, getInstance, getInstance, getInstance, getMinimalDaysInFirstWeek, getTime, getTimeInMillis, getTimeZone, internalGet, isLenient, isSet, set, set, set, set, setFirstDayOfWeek, setLenient, setMinimalDaysInFirstWeek, setTime, setTimeInMillis, setTimeZone, toInstant, toString
Модификатор и тип Метод Описание
boolean after(Object when)
Возвращает, представляет ли этот Calendar время, наступающее после времени, представленного указанным Object.
boolean before(Object when)
Возвращает, представляет ли этот Calendar время, наступающее до времени, представленного указанным Object.
final void clear()
Сбрасывает значения всех полей календаря и значение времени (смещение в миллисекундах относительно эпохи) этого Calendar.
final void clear(int field)
Сбрасывает заданное значение поля календаря и значение времени (смещение в миллисекундах относительно эпохи) этого Calendar.
Object clone()
Создает и возвращает копию этого объекта.
int compareTo(Calendar anotherCalendar)
Сравнивает значения времени (смещения в миллисекундах относительно эпохи), представленные двумя объектами Calendar.
protected void complete()
Заполняет все незаданные поля календаря.
int get(int field)
Возвращает значение заданного поля календаря.
static Set<String> getAvailableCalendarTypes()
Возвращает неизменяемый Set, содержащий все типы календарей, поддерживаемые Calendar в среде выполнения.
static Locale[] getAvailableLocales()
Возвращает массив всех локалей, для которых методы getInstance этого класса могут возвращать локализованные экземпляры.
String getDisplayName(int field, int style, Locale locale)
Возвращает строковое представление значения field календаря для заданных style и locale.
Map<String,Integer> getDisplayNames(int field, int style, Locale locale)
Возвращает Map, содержащий все имена field календаря для заданных style и locale, а также соответствующие им значения полей.
int getFirstDayOfWeek()
Возвращает первый день недели; например, SUNDAY в США и MONDAY во Франции.
static Calendar getInstance()
Получает календарь с часовым поясом и локалью по умолчанию.
static Calendar getInstance(Locale aLocale)
Получает календарь с часовым поясом по умолчанию и указанной локалью.
static Calendar getInstance(TimeZone zone)
Получает календарь с указанным часовым поясом и локалью по умолчанию.
static Calendar getInstance(TimeZone zone, Locale aLocale)
Получает календарь с указанными часовым поясом и локалью.
int getMinimalDaysInFirstWeek()
Возвращает минимальное количество дней в первой неделе года; например, если первой считается неделя, содержащая первый день первого месяца года, этот метод возвращает 1.
final Date getTime()
Возвращает объект Date, представляющий значение времени этого Calendar (смещение в миллисекундах относительно эпохи).
long getTimeInMillis()
Возвращает значение времени этого календаря в миллисекундах.
TimeZone getTimeZone()
Получает часовой пояс.
protected final int internalGet(int field)
Возвращает значение заданного поля календаря.
boolean isLenient()
Указывает, следует ли выполнять интерпретацию даты и времени с допуском отклонений.
final boolean isSet(int field)
Определяет, задано ли значение для указанного поля календаря, в том числе в случаях, когда значение было установлено при вычислении внутренних полей, вызванном вызовом метода get.
void set(int field, int value)
Устанавливает для заданного поля календаря указанное значение.
final void set(int year, int month, int date)
Устанавливает значения полей календаря YEAR, MONTH и DAY_OF_MONTH.
final void set(int year, int month, int date, int hourOfDay, int minute)
Устанавливает значения полей календаря YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY и MINUTE.
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.
void setFirstDayOfWeek(int value)
Задает первый день недели; например, SUNDAY в США и MONDAY во Франции.
void setLenient(boolean lenient)
Указывает, следует ли выполнять интерпретацию даты и времени с допуском отклонений.
void setMinimalDaysInFirstWeek(int value)
Задает минимальное количество дней в первой неделе года. Например, если первой считается неделя, содержащая первый день первого месяца года, вызовите этот метод со значением 1.
final void setTime(Date date)
Устанавливает время этого календаря, используя заданный Date.
void setTimeInMillis(long millis)
Устанавливает текущее время этого календаря из заданного значения типа long.
void setTimeZone(TimeZone value)
Устанавливает часовой пояс, используя заданное значение часового пояса.
final Instant toInstant()
Преобразует этот объект в Instant.
String toString()
Возвращает строковое представление этого календаря.

Методы, объявленные в классе Object

finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание полей

BC

public static final int BC
Значение поля ERA, указывающее на период до нашей эры (до Рождества Христова), также известный как BCE. Последовательность лет при переходе от BC к AD выглядит так: ..., 2 BC, 1 BC, 1 AD, 2 AD,...
См. также:
  • Calendar.ERA
  • Значения констант полей

AD

public static final int AD
Значение поля ERA, указывающее на нашу эру (Anno Domini), также известную как CE. Последовательность лет при переходе от BC к AD выглядит так: ..., 2 BC, 1 BC, 1 AD, 2 AD,...
См. также:
  • Calendar.ERA
  • Значения констант полей

Подробное описание конструкторов

GregorianCalendar

public GregorianCalendar()
Создает GregorianCalendar по умолчанию, используя текущее время в часовом поясе по умолчанию и локаль FORMAT по умолчанию.

GregorianCalendar

public GregorianCalendar(TimeZone zone)
Создает GregorianCalendar на основе текущего времени в указанном часовом поясе и локали FORMAT по умолчанию.
Параметры:
zone — указанный часовой пояс.
Вызывает исключение:
NullPointerException — если zone равно null

GregorianCalendar

public GregorianCalendar(Locale aLocale)
Создает GregorianCalendar на основе текущего времени в часовом поясе по умолчанию и указанной локали.
Параметры:
aLocale — указанная локаль.
Вызывает исключение:
NullPointerException — если aLocale равно null

GregorianCalendar

public GregorianCalendar(TimeZone zone, Locale aLocale)
Создает GregorianCalendar на основе текущего времени в указанном часовом поясе и указанной локали.
Параметры:
zone — указанный часовой пояс.
aLocale — указанная локаль.
Вызывает исключение:
NullPointerException — если zone или aLocale равно null

GregorianCalendar

public GregorianCalendar(int year, int month, int dayOfMonth)
Создает GregorianCalendar с указанной датой в часовом поясе и локали по умолчанию.
Параметры:
year — значение, используемое для установки поля календаря YEAR.
month — значение, используемое для установки поля календаря MONTH. Нумерация месяцев начинается с 0. Например, 0 соответствует январю.
dayOfMonth — значение, используемое для установки поля календаря DAY_OF_MONTH.

GregorianCalendar

public GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute)
Создает GregorianCalendar с указанными датой и временем в часовом поясе и локали по умолчанию.
Параметры:
year — значение, используемое для установки поля календаря YEAR.
month — значение, используемое для установки поля календаря MONTH. Нумерация месяцев начинается с 0. Например, 0 соответствует январю.
dayOfMonth — значение, используемое для установки поля календаря DAY_OF_MONTH.
hourOfDay — значение, используемое для установки поля календаря HOUR_OF_DAY.
minute — значение, используемое для установки поля календаря MINUTE.

GregorianCalendar

public GregorianCalendar(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second)
Создает GregorianCalendar с указанными датой и временем в часовом поясе и локали по умолчанию.
Параметры:
year — значение, используемое для установки поля календаря YEAR.
month — значение, используемое для установки поля календаря MONTH. Нумерация месяцев начинается с 0. Например, 0 соответствует январю.
dayOfMonth — значение, используемое для установки поля календаря DAY_OF_MONTH.
hourOfDay — значение, используемое для установки поля календаря HOUR_OF_DAY.
minute — значение, используемое для установки поля календаря MINUTE.
second — значение, используемое для установки поля календаря SECOND.

Подробное описание методов

setGregorianChange

public void setGregorianChange(Date date)
Устанавливает дату перехода на GregorianCalendar. Это момент перехода с юлианского календаря на григорианский. По умолчанию это 15 октября 1582 года (по григорианскому календарю). До этой даты даты относятся к юлианскому календарю.

Чтобы использовать исключительно юлианский календарь, установите дату перехода в Date(Long.MAX_VALUE). Чтобы использовать исключительно григорианский календарь, установите дату перехода в Date(Long.MIN_VALUE).

Параметры:
date — указанная дата перехода на григорианский календарь.

getGregorianChange

public final Date getGregorianChange()
Возвращает дату перехода на григорианский календарь. Это момент перехода с юлианского календаря на григорианский. По умолчанию это 15 октября 1582 года (по григорианскому календарю). До этой даты даты относятся к юлианскому календарю.
Возвращает:
дату перехода на григорианский календарь для этого объекта GregorianCalendar.

isLeapYear

public boolean isLeapYear(int year)
Определяет, является ли указанный год високосным. Возвращает true, если указанный год високосный. Чтобы указать год до нашей эры, необходимо передать 1 - year number. Например, год 4 до н. э. задается как -3.
Параметры:
year — указанный год.
Возвращает:
true, если указанный год високосный; в противном случае — false.

getCalendarType

public String getCalendarType()
Возвращает "gregory" в качестве типа календаря.
Переопределяет:
getCalendarType в классе Calendar
Возвращает:
"gregory"
Начиная с версии:
1.8
См. также:
  • Расширения локали
  • Locale.Builder.setLocale(Locale)
  • Locale.Builder.setUnicodeLocaleKeyword(String, String)

equals

public boolean equals(Object obj)
Сравнивает этот GregorianCalendar с указанным Object. Результат равен true тогда и только тогда, когда аргумент является объектом GregorianCalendar, представляющим то же значение времени (смещение в миллисекундах относительно начала отсчета) при тех же параметрах Calendar и той же дате перехода на григорианский календарь, что и этот объект.
Переопределяет:
equals в классе Calendar
Параметры:
obj — объект для сравнения.
Возвращает:
true, если этот объект равен obj; в противном случае — false.
См. также:
  • Calendar.compareTo(Calendar)

hashCode

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

add

public void add(int field, int amount)
Добавляет к указанному полю календаря заданное (знаковое) количество времени в соответствии с правилами календаря.

Правило сложения 1. Значение field после вызова минус значение field до вызова равно amount с учетом переполнения, произошедшего в field. Переполнение происходит, когда значение поля выходит за пределы своего диапазона, в результате чего значение следующего большего поля увеличивается или уменьшается, а значение поля корректируется так, чтобы снова попасть в свой диапазон.

Правило сложения 2. Если ожидается, что значение меньшего поля останется неизменным, но из-за изменения его минимального или максимального значения после изменения field оно не может совпадать с прежним значением, то значение корректируется так, чтобы максимально приблизить его к ожидаемому. Меньшее поле соответствует меньшей единице времени. HOUR — меньшее поле, чем DAY_OF_MONTH. Корректировка не выполняется для меньших полей, значения которых не должны оставаться неизменными. Какие поля должны оставаться неизменными, определяется системой календаря.

Определен в:
add в классе Calendar
Параметры:
field — поле календаря.
amount — количество даты или времени, добавляемое к полю.
Вызывает исключение:
IllegalArgumentException — если field равно ZONE_OFFSET, DST_OFFSET или неизвестно, либо если значения каких-либо полей календаря выходят за допустимые пределы в строгом режиме.
См. также:
  • Calendar.roll(int,int)
  • Calendar.set(int,int)

roll

public void roll(int field, boolean up)
Добавляет или вычитает (увеличивает/уменьшает) одну единицу времени в указанном поле времени, не изменяя поля более высокого порядка.

Пример: Рассмотрим объект GregorianCalendar, изначально установленный на 31 декабря 1999 года. Вызов roll(Calendar.MONTH, true) устанавливает дату календаря на 31 января 1999 года. Поле YEAR не изменяется, поскольку оно имеет более высокий порядок, чем MONTH.

Определен в:
roll в классе Calendar
Параметры:
field — поле времени.
up — указывает, следует ли увеличить или уменьшить значение указанного поля календаря. Используйте true для увеличения и false для уменьшения.
Вызывает исключение:
IllegalArgumentException — если field равно ZONE_OFFSET, DST_OFFSET или неизвестно, либо если значения каких-либо полей календаря выходят за допустимые пределы в строгом режиме.
См. также:
  • add(int,int)
  • Calendar.set(int,int)

roll

public void roll(int field, int amount)
Добавляет знаковое значение к указанному полю календаря, не изменяя поля более высокого порядка. Отрицательное значение прокрутки означает вычитание из поля без изменения полей более высокого порядка. Если указанное значение равно 0, метод ничего не выполняет.

Перед добавлением значения этот метод вызывает Calendar.complete(), чтобы нормализовать все поля календаря. Если в строгом режиме значение какого-либо поля календаря выходит за допустимые пределы, генерируется IllegalArgumentException.

Пример: Рассмотрим объект GregorianCalendar, изначально установленный на 31 августа 1999 года. Вызов roll(Calendar.MONTH, 8) устанавливает дату календаря на 30 апреля 1999 года. В GregorianCalendar поле DAY_OF_MONTH не может иметь значение 31 в апреле. DAY_OF_MONTH устанавливается в ближайшее возможное значение — 30. Поле YEAR сохраняет значение 1999, поскольку имеет более высокий порядок, чем MONTH.

Пример: Рассмотрим объект GregorianCalendar, изначально установленный на воскресенье, 6 июня 1999 года. Вызов roll(Calendar.WEEK_OF_MONTH, -1) устанавливает дату календаря на вторник, 1 июня 1999 года, тогда как вызов add(Calendar.WEEK_OF_MONTH, -1) устанавливает дату календаря на воскресенье, 30 мая 1999 года. Это происходит потому, что правило прокрутки вводит дополнительное ограничение: MONTH не должно изменяться при прокрутке WEEK_OF_MONTH. В сочетании с правилом сложения 1 итоговая дата должна находиться в диапазоне от вторника, 1 июня, до субботы, 5 июня. Согласно правилу сложения 2, DAY_OF_WEEK, которое остается неизменным при изменении WEEK_OF_MONTH, устанавливается на вторник — ближайшее возможное значение к воскресенью (где воскресенье является первым днем недели).

Переопределяет:
roll в классе Calendar
Параметры:
field — поле календаря.
amount — знаковое значение, добавляемое к field.
Вызывает исключение:
IllegalArgumentException — если field равно ZONE_OFFSET, DST_OFFSET или неизвестно, либо если значения каких-либо полей календаря выходят за допустимые пределы в строгом режиме.
Начиная с версии:
1.2
См. также:
  • roll(int,boolean)
  • add(int,int)
  • Calendar.set(int,int)

getMinimum

public int getMinimum(int field)
Возвращает минимальное значение указанного поля календаря для этого экземпляра GregorianCalendar. Минимальное значение определяется как наименьшее значение, возвращаемое методом get для любого возможного значения времени с учетом текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
Определен в:
getMinimum в классе Calendar
Параметры:
field — поле календаря.
Возвращает:
минимальное значение указанного поля календаря.
См. также:
  • getMaximum(int)
  • getGreatestMinimum(int)
  • getLeastMaximum(int)
  • getActualMinimum(int)
  • getActualMaximum(int)

getMaximum

public int getMaximum(int field)
Возвращает максимальное значение указанного поля календаря для этого экземпляра GregorianCalendar. Максимальное значение определяется как наибольшее значение, возвращаемое методом get для любого возможного значения времени с учетом текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
Определен в:
getMaximum в классе Calendar
Параметры:
field — поле календаря.
Возвращает:
максимальное значение указанного поля календаря.
См. также:
  • getMinimum(int)
  • getGreatestMinimum(int)
  • getLeastMaximum(int)
  • getActualMinimum(int)
  • getActualMaximum(int)

getGreatestMinimum

public int getGreatestMinimum(int field)
Возвращает наибольшее минимальное значение указанного поля календаря для этого экземпляра GregorianCalendar. Наибольшее минимальное значение определяется как наибольшее значение, возвращаемое методом getActualMinimum(int) для любого возможного значения времени с учетом текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
Определен в:
getGreatestMinimum в классе Calendar
Параметры:
field — поле календаря.
Возвращает:
наибольшее минимальное значение указанного поля календаря.
См. также:
  • getMinimum(int)
  • getMaximum(int)
  • getLeastMaximum(int)
  • getActualMinimum(int)
  • getActualMaximum(int)

getLeastMaximum

public int getLeastMaximum(int field)
Возвращает наименьшее максимальное значение указанного поля календаря для этого экземпляра GregorianCalendar. Наименьшее максимальное значение определяется как наименьшее значение, возвращаемое методом getActualMaximum(int) для любого возможного значения времени с учетом текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.
Определен в:
getLeastMaximum в классе Calendar
Параметры:
field — поле календаря
Возвращает:
наименьшее максимальное значение указанного поля календаря.
См. также:
  • getMinimum(int)
  • getMaximum(int)
  • getGreatestMinimum(int)
  • getActualMinimum(int)
  • getActualMaximum(int)

getActualMinimum

public int getActualMinimum(int field)
Возвращает минимальное значение, которое может иметь это поле календаря, с учетом указанного значения времени и текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone.

Например, если дата перехода на григорианский календарь — 10 января 1970 года, а дата этого объекта GregorianCalendar — 20 января 1970 года, фактическое минимальное значение поля DAY_OF_MONTH равно 10, поскольку предыдущей датой перед 10 января 1970 года является 27 декабря 1996 года (по юлианскому календарю). Таким образом, дат с 28 декабря 1969 года по 9 января 1970 года не существует.

Переопределяет:
getActualMinimum в классе Calendar
Параметры:
field — поле календаря
Возвращает:
минимальное значение указанного поля для значения времени этого объекта GregorianCalendar
Начиная с версии:
1.2
См. также:
  • getMinimum(int)
  • getMaximum(int)
  • getGreatestMinimum(int)
  • getLeastMaximum(int)
  • getActualMaximum(int)

getActualMaximum

public int getActualMaximum(int field)
Возвращает максимальное значение, которое может иметь это поле календаря, с учетом указанного значения времени и текущих значений методов getFirstDayOfWeek, getMinimalDaysInFirstWeek, getGregorianChange и getTimeZone. Например, если дата этого экземпляра — 1 февраля 2004 года, фактическое максимальное значение поля DAY_OF_MONTH равно 29, поскольку 2004 год високосный; если же дата этого экземпляра — 1 февраля 2005 года, оно равно 28.

Этот метод вычисляет максимальное значение WEEK_OF_YEAR на основе значения YEAR (календарного года), а не года недели. Чтобы получить максимальное значение WEEK_OF_YEAR для года недели этого объекта GregorianCalendar, вызовите getWeeksInWeekYear().

Переопределяет:
getActualMaximum в классе Calendar
Параметры:
field — поле календаря
Возвращает:
максимальное значение указанного поля для значения времени этого объекта GregorianCalendar
Начиная с версии:
1.2
См. также:
  • getMinimum(int)
  • getMaximum(int)
  • getGreatestMinimum(int)
  • getLeastMaximum(int)
  • getActualMinimum(int)

isWeekDateSupported

public final boolean isWeekDateSupported()
Возвращает true, указывающее, что этот объект GregorianCalendar поддерживает даты в формате недель.
Переопределяет:
isWeekDateSupported в классе Calendar
Возвращает:
true (всегда)
Начиная с версии:
1.7
См. также:
  • getWeekYear()
  • setWeekDate(int,int,int)
  • getWeeksInWeekYear()

getWeekYear

public int getWeekYear()
Возвращает год недели, представленный этим объектом GregorianCalendar. Даты в неделях от 1-й до последней недели года недели имеют одно и то же значение года недели, которое может быть на год раньше или позже значения YEAR (календарного года).

Перед вычислением года недели этот метод вызывает Calendar.complete().

Переопределяет:
getWeekYear в классе Calendar
Возвращает:
год недели, представленный этим объектом GregorianCalendar. Если значение ERA равно BC, год представляется нулем или отрицательным числом: 1 год до н. э. — это 0, 2 год до н. э. — -1, 3 год до н. э. — -2 и так далее.
Вызывает исключение:
IllegalArgumentException — если в строгом режиме какое-либо поле календаря имеет недопустимое значение.
Начиная с версии:
1.7
См. также:
  • isWeekDateSupported()
  • getWeeksInWeekYear()
  • Calendar.getFirstDayOfWeek()
  • Calendar.getMinimalDaysInFirstWeek()

setWeekDate

public void setWeekDate(int weekYear, int weekOfYear, int dayOfWeek)
Устанавливает для этого объекта GregorianCalendar дату, заданную следующими компонентами: weekYear, weekOfYear и dayOfWeek. weekOfYear соответствует нумерации WEEK_OF_YEAR. Значение dayOfWeek должно быть одним из значений DAY_OF_WEEK: от SUNDAY до SATURDAY.

Обратите внимание, что числовое представление дня недели отличается от стандарта ISO 8601, а нумерация weekOfYear совместима со стандартом, если getFirstDayOfWeek() равно MONDAY, а getMinimalDaysInFirstWeek() равно 4.

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

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

Переопределяет:
setWeekDate в классе Calendar
Параметры:
weekYear — год недели
weekOfYear — номер недели, рассчитанный на основе weekYear
dayOfWeek — значение дня недели: одна из констант поля DAY_OF_WEEK: SUNDAY, ..., SATURDAY.
Вызывает исключение:
IllegalArgumentException — если какой-либо из указанных компонентов даты недопустим или если в строгом режиме какие-либо поля календаря несовместимы с указанными компонентами даты
Начиная с версии:
1.7
См. также:
  • isWeekDateSupported()
  • Calendar.getFirstDayOfWeek()
  • Calendar.getMinimalDaysInFirstWeek()

getWeeksInWeekYear

public int getWeeksInWeekYear()
Возвращает количество недель в недельном году, представленном этим GregorianCalendar.

Например, если дата этого GregorianCalendar — 31 декабря 2008 года, а используется настройка, совместимая с ISO 8601, этот метод вернёт 53 для периода с 29 декабря 2008 года по 3 января 2010 года, тогда как getActualMaximum(WEEK_OF_YEAR) вернёт 52 для периода с 31 декабря 2007 года по 28 декабря 2008 года.

Переопределяет:
getWeeksInWeekYear в классе Calendar
Возвращает:
количество недель в недельном году.
Начиная с:
1.7
См. также:
  • Calendar.WEEK_OF_YEAR
  • getWeekYear()
  • getActualMaximum(int)

computeFields

protected void computeFields()
Преобразует значение времени (смещение в миллисекундах относительно эпохи) в значения полей календаря. Время не пересчитывается перед этим; чтобы пересчитать время, а затем поля, вызовите метод complete.
Определён в:
computeFields в классе Calendar
См. также:
  • Calendar.complete()

computeTime

protected void computeTime()
Преобразует значения полей календаря в значение времени (смещение в миллисекундах относительно эпохи).
Определён в:
computeTime в классе Calendar
Выбрасывает:
IllegalArgumentException — если какое-либо поле календаря содержит недопустимое значение.
См. также:
  • Calendar.complete()
  • Calendar.computeFields()

toZonedDateTime

public ZonedDateTime toZonedDateTime()
Преобразует этот объект в ZonedDateTime, представляющий ту же точку на временной шкале, что и этот GregorianCalendar.

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

Возвращает:
объект даты и времени с часовым поясом, представляющий ту же точку на временной шкале, что и этот григорианский календарь
Начиная с:
1.8

from

public static GregorianCalendar from(ZonedDateTime zdt)
Создаёт экземпляр GregorianCalendar с локалью по умолчанию на основе объекта ZonedDateTime.

Поскольку ZonedDateTime не поддерживает дату перехода с юлианского календаря на григорианский и использует систему календаря ISO, возвращаемый GregorianCalendar является чисто григорианским календарём и использует стандарт ISO 8601 для определения недель: в нём MONDAY является значением FirstDayOfWeek, а 4 — значением MinimalDaysInFirstWeek.

ZoneDateTime может хранить точки на временной шкале, расположенные дальше в будущем и прошлом, чем GregorianCalendar. В этом случае данный метод выбросит исключение IllegalArgumentException.

Параметры:
zdt — объект даты и времени с часовым поясом для преобразования
Возвращает:
григорианский календарь, представляющий ту же точку на временной шкале, что и переданный объект даты и времени с часовым поясом
Выбрасывает:
NullPointerException — если zdt равен null
IllegalArgumentException — если дата и время с часовым поясом слишком велики для представления в виде GregorianCalendar
Начиная с:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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