Класс XMLGregorianCalendar
- Все реализуемые интерфейсы:
Cloneable
public abstract class XMLGregorianCalendar extends Object implements Cloneable
Представление типов данных даты и времени W3C XML Schema 1.0. В частности, это типы данных даты и времени DatatypeConstants.DATETIME, DatatypeConstants.TIME, DatatypeConstants.DATE, DatatypeConstants.GYEARMONTH, DatatypeConstants.GMONTHDAY, DatatypeConstants.GYEAR, DatatypeConstants.GMONTH и DatatypeConstants.GDAY, определённые в пространстве имён XML "http://www.w3.org/2001/XMLSchema". Эти типы данных нормативно определены в W3C XML Schema 1.0, часть 2, разделы 3.2.7–14.
В таблице ниже показано соответствие между полями типов данных даты и времени XML Schema 1.0 и полями этого класса. Также в ней приведены ограничения значений для полей даты и времени, определённые в W3C XML Schema 1.0, часть 2, приложение D, Форматы даты и времени ISO 8601.
| Поле типа данных XML Schema 1.0 | Соответствующие методы доступа XMLGregorianCalendar | Диапазон значений |
|---|---|---|
| год | getYear() + getEon() илиgetEonAndYear() | getYear() — значение от -(10^9-1) до (10^9)-1 или DatatypeConstants.FIELD_UNDEFINED.getEon() — старшая часть значения года в миллиардах лет.getEon() принимает значения, большие или равные (10^9), либо меньшие или равные -(10^9). Значение null указывает, что поле не определено.Поскольку в списке исправлений XML Schema 1.0 указано, что нулевой год станет допустимым лексическим значением в будущей версии XML Schema, этот класс позволяет присвоить полю года значение ноль. В остальных случаях значение поля года обрабатывается точно так, как описано в списке исправлений и [ISO-8601-1988]. Обратите внимание, что проверка соответствия W3C XML Schema 1.0 не допускает нулевое значение поля года. |
| месяц | getMonth() | От 1 до 12 или DatatypeConstants.FIELD_UNDEFINED |
| день | getDay() | Независимо от месяца максимальный диапазон — от 1 до 31 или DatatypeConstants.FIELD_UNDEFINED.Нормативное ограничение значения относительно значения поля месяца приведено в W3C XML Schema 1.0, часть 2, приложение D. |
| час | getHour() | От 0 до 23 или DatatypeConstants.FIELD_UNDEFINED. В лексическом пространстве допускается значение часа 24, если значения полей минут и секунд равны нулю. Однако значение часа 24 не допускается в пространстве значений и преобразуется в значение, представляющее первый момент следующего дня, в соответствии с XML Schema, часть 2: типы данных, второе издание, 3.2, примитивные типы данных. |
| минута | getMinute() | От 0 до 59 или DatatypeConstants.FIELD_UNDEFINED |
| секунда | getSecond() + getMillisecond()/1000 илиgetSecond() + getFractionalSecond() | getSecond() — от 0 до 60 или DatatypeConstants.FIELD_UNDEFINED.(Примечание: значение 60 допустимо только для високосной секунды.) getFractionalSecond() обеспечивает бесконечную точность в диапазоне от 0.0 до 1.0, если getSecond() определено.FractionalSecond необязательно и имеет значение null, если оно не определено.getMillisecond() — значение getFractionalSecond() с точностью до миллисекунд для удобства. |
| часовой пояс | getTimezone() | Количество минут или DatatypeConstants.FIELD_UNDEFINED. Диапазон значений — от -14 часов (-14 * 60 минут) до 14 часов (14 * 60 минут). |
Все ограничения максимальных значений для полей, перечисленных в таблице выше, проверяются фабричными методами DatatypeFactory, методами-сеттерами и методами разбора этого класса. IllegalArgumentException выбрасывается, если значение параметра выходит за пределы ограничения для поля или если составные значения образуют недопустимый экземпляр XMLGregorianCalendar (например, если указано 31 июня).
Для этого класса определены следующие операции:
- методы доступа и изменения независимых полей даты и времени
- преобразование между этим классом и лексическим представлением W3C XML Schema 1.0:
toString(),DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation) - преобразование между этим классом и
GregorianCalendar:toGregorianCalendar(java.util.TimeZone timezone, java.util.Locale aLocale, XMLGregorianCalendar defaults),DatatypeFactory - метод сравнения частичного порядка
compare(XMLGregorianCalendar xmlGregorianCalendar) -
equals(Object), определённый относительноcompare(XMLGregorianCalendar xmlGregorianCalendar). - операция сложения с экземпляром
Duration, определённая в W3C XML Schema 1.0, часть 2, приложение E, Добавление длительностей к значениям dateTime.
- Начиная с:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
XMLGregorianCalendar() |
Конструктор без аргументов по умолчанию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
add |
Добавляет duration к этому экземпляру. |
abstract void |
clear() |
Сбрасывает все поля в неопределённое состояние. |
abstract Object |
clone() |
Создаёт и возвращает копию этого объекта. |
abstract int |
compare |
Сравнивает два экземпляра типов данных даты и времени W3C XML Schema 1.0 в соответствии с отношением частичного порядка, определённым в W3C XML Schema 1.0, часть 2, раздел 3.2.7.3, Отношение порядка для dateTime. |
boolean |
equals |
Сравнивает этот календарь с указанным объектом. |
abstract int |
getDay() |
Возвращает день месяца или DatatypeConstants.FIELD_UNDEFINED. |
abstract BigInteger |
getEon() |
Возвращает старшую часть поля типа данных dateTime XML Schema 1.0 для year. |
abstract BigInteger |
getEonAndYear() |
Возвращает поле типа данных dateTime XML Schema 1.0 для year. |
abstract BigDecimal |
getFractionalSecond() |
Возвращает дробную часть секунд. |
abstract int |
getHour() |
Возвращает час дня или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
int |
getMillisecond() |
Возвращает значение getFractionalSecond() с точностью до миллисекунд. |
abstract int |
getMinute() |
Возвращает минуту часа или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
abstract int |
getMonth() |
Возвращает месяц этого календаря или DatatypeConstants.FIELD_UNDEFINED. |
abstract int |
getSecond() |
Возвращает секунду минуты или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
abstract int |
getTimezone() |
Возвращает смещение часового пояса в минутах или DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено. |
abstract TimeZone |
getTimeZone |
Возвращает java.util.TimeZone для этого класса. |
abstract QName |
getXMLSchemaType() |
Возвращает имя типа даты и времени XML Schema, которому соответствует этот экземпляр. |
abstract int |
getYear() |
Возвращает младшую часть поля типа данных dateTime XML Schema 1.0 для year или DatatypeConstants.FIELD_UNDEFINED. |
int |
hashCode() |
Возвращает хеш-код, согласованный с определением метода equals. |
abstract boolean |
isValid() |
Проверяет экземпляр на соответствие ограничениям getXMLSchemaType(). |
abstract XMLGregorianCalendar |
normalize() |
Нормализует этот экземпляр в UTC. |
abstract void |
reset() |
Восстанавливает исходные значения этого XMLGregorianCalendar. |
abstract void |
setDay |
Задаёт день месяца. |
abstract void |
setFractionalSecond |
Задаёт дробную часть секунд. |
abstract void |
setHour |
Задаёт часы. |
abstract void |
setMillisecond |
Задаёт миллисекунды. |
abstract void |
setMinute |
Задаёт минуты. |
abstract void |
setMonth |
Задаёт месяц. |
abstract void |
setSecond |
Задаёт секунды. |
void |
setTime |
Задаёт время целиком. |
void |
setTime |
Задаёт время целиком, включая необязательные миллисекунды. |
void |
setTime |
Задаёт время целиком, включая необязательную дробную часть секунд с бесконечной точностью. |
abstract void |
setTimezone |
Задаёт количество минут в смещении часового пояса. |
abstract void |
setYear |
Задаёт год поля года XSD dateTime. |
abstract void |
setYear |
Задаёт младшую и старшую части поля года XSD dateTime. |
abstract GregorianCalendar |
toGregorianCalendar() |
Преобразует этот XMLGregorianCalendar в GregorianCalendar. |
abstract GregorianCalendar |
toGregorianCalendar |
Преобразует этот XMLGregorianCalendar вместе с указанными параметрами в экземпляр GregorianCalendar. |
String |
toString() |
Возвращает представление String этого XMLGregorianCalendar Object. |
abstract String |
toXMLFormat() |
Возвращает лексическое представление экземпляра this. |
Подробное описание конструкторов
XMLGregorianCalendar
public XMLGregorianCalendar()
Примечание: для создания экземпляра XMLGregorianCalendar всегда используйте DatatypeFactory. Нельзя гарантировать, что конструктор этого класса создаст объект в согласованном состоянии; в будущем он может быть удалён.
Подробное описание методов
clear
public abstract void clear()
Установить для всех целочисленных полей значение DatatypeConstants.FIELD_UNDEFINED, а для ссылочных полей — null.
reset
public abstract void reset()
XMLGregorianCalendar. XMLGregorianCalendar сбрасывается до тех же значений, что и при создании с помощью DatatypeFactory.newXMLGregorianCalendar(), DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation), DatatypeFactory.newXMLGregorianCalendar(BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone), DatatypeFactory.newXMLGregorianCalendar(int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone), DatatypeFactory.newXMLGregorianCalendar(GregorianCalendar cal), DatatypeFactory.newXMLGregorianCalendarDate(int year, int month, int day, int timezone), DatatypeFactory.newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int timezone), DatatypeFactory.newXMLGregorianCalendarTime(int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone) или DatatypeFactory.newXMLGregorianCalendarTime(int hours, int minutes, int seconds, int milliseconds, int timezone).
reset() предназначен для повторного использования существующих XMLGregorianCalendar, что позволяет экономить ресурсы, связанные с созданием новых XMLGregorianCalendar.
setYear
public abstract void setYear(BigInteger year)
dateTime. Сбросить это поле, вызвав метод установки со значением параметра null.
- Параметры:
-
year— ограничения на значения приведены в таблице соответствия полей даты/времени, поле года. - Исключения:
-
IllegalArgumentException— если значение параметраyearвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setYear
public abstract void setYear(int year)
dateTime. Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
Примечание: если абсолютное значение параметра year меньше 10^9, этот метод устанавливает компонент эона поля года XSD в значение null.
- Параметры:
-
year— ограничения на значения приведены в таблице соответствия полей даты/времени, поле года. Если year равноDatatypeConstants.FIELD_UNDEFINED, то для эона устанавливается значениеnull.
setMonth
public abstract void setMonth(int month)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
month— ограничения на значения приведены в таблице соответствия полей даты/времени, поле месяца. - Исключения:
-
IllegalArgumentException— если значение параметраmonthвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setDay
public abstract void setDay(int day)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
day— ограничения на значения приведены в таблице соответствия полей даты/времени, поле дня. - Исключения:
-
IllegalArgumentException— если значение параметраdayвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setTimezone
public abstract void setTimezone(int offset)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
offset— ограничения на значения приведены в таблице соответствия полей даты/времени, поле часового пояса. - Исключения:
-
IllegalArgumentException— если значение параметраoffsetвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setTime
public void setTime(int hour, int minute, int second)
- Параметры:
-
hour— ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа. -
minute— ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты. -
second— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. - Исключения:
-
IllegalArgumentException— если значение любого параметра выходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени. - См. также:
setHour
public abstract void setHour(int hour)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
hour— ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа. - Исключения:
-
IllegalArgumentException— если значение параметраhourвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setMinute
public abstract void setMinute(int minute)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
minute— ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты. - Исключения:
-
IllegalArgumentException— если значение параметраminuteвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setSecond
public abstract void setSecond(int second)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
second— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. - Исключения:
-
IllegalArgumentException— если значение параметраsecondвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setMillisecond
public abstract void setMillisecond(int millisecond)
Сбросить это поле, вызвав метод установки со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
millisecond— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. - Исключения:
-
IllegalArgumentException— если значение параметраmillisecondвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setFractionalSecond
public abstract void setFractionalSecond(BigDecimal fractional)
Сбросить это поле, вызвав метод установки со значением параметра null.
- Параметры:
-
fractional— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. - Исключения:
-
IllegalArgumentException— если значение параметраfractionalвыходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setTime
public void setTime(int hour, int minute, int second, BigDecimal fractional)
- Параметры:
-
hour— ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа. -
minute— ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты. -
second— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. -
fractional— значениеnullозначает, что это необязательное поле не установлено. - Исключения:
-
IllegalArgumentException— если значение любого параметра выходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
setTime
public void setTime(int hour, int minute, int second, int millisecond)
- Параметры:
-
hour— ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа. -
minute— ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты. -
second— ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды. -
millisecond— значениеDatatypeConstants.FIELD_UNDEFINEDозначает, что это необязательное поле не установлено. - Исключения:
-
IllegalArgumentException— если значение любого параметра выходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
getEon
public abstract BigInteger getEon()
year. null, если эта необязательная часть поля года не определена. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.
- Возвращает:
- Эон этого
XMLGregorianCalendar. Возвращаемое значение кратно 10^9. - См. также:
getYear
public abstract int getYear()
year или DatatypeConstants.FIELD_UNDEFINED. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.
- Возвращает:
- Год этого
XMLGregorianCalendar. - См. также:
getEonAndYear
public abstract BigInteger getEonAndYear()
year. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.
- Возвращает:
- Сумму
eonиBigInteger.valueOf(year), если определены оба поля. Если определено толькоyear, возвращается оно. Если не определены ниeon, ниyear, возвращаетсяnull. - См. также:
getMonth
public abstract int getMonth()
DatatypeConstants.FIELD_UNDEFINED. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле месяца.
- Возвращает:
- Месяц этого
XMLGregorianCalendar— от 1 до 12.
getDay
public abstract int getDay()
DatatypeConstants.FIELD_UNDEFINED. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле дня.
- Возвращает:
- День месяца этого
XMLGregorianCalendar— от 1 до 31. - См. также:
getTimezone
public abstract int getTimezone()
DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле часового пояса.
- Возвращает:
- Смещение часового пояса в минутах для этого
XMLGregorianCalendar. - См. также:
getHour
public abstract int getHour()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа.
- Возвращает:
- Час дня для этого
XMLGregorianCalendar— от 0 до 23. - См. также:
getMinute
public abstract int getMinute()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты.
- Возвращает:
- Минута часа для этого
XMLGregorianCalendar— от 0 до 59. - См. также:
getSecond
public abstract int getSecond()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Если это поле не определено, необязательное поле дробных секунд xs:dateTime, представленное методами getFractionalSecond() и getMillisecond(), также не должно быть определено. Ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды.
- Возвращает:
- Секунда минуты для этого
XMLGregorianCalendar— от 0 до 59. - См. также:
getMillisecond
public int getMillisecond()
getFractionalSecond() с точностью до миллисекунд. Этот метод предоставляет удобный способ получить значение дробных секунд с неограниченной точностью, возвращаемое методом getFractionalSecond(). Возвращаемое значение — результат округления вниз значения getFractionalSecond() до миллисекунд. Если метод getFractionalSecond() возвращает null, этот метод должен вернуть DatatypeConstants.FIELD_UNDEFINED.
Ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды.
- Возвращает:
- Значение этого
XMLGregorianCalendarс точностью до миллисекунд. - См. также:
getFractionalSecond
public abstract BigDecimal getFractionalSecond()
Если это необязательное поле не определено, возвращается null.
Ограничения на значения подробно описаны в таблице соответствия полей даты/времени, поле секунды.
Значение этого необязательного поля может быть определено только в том случае, если поле секунд xs:dateTime, представленное методом getSecond(), не возвращает DatatypeConstants.FIELD_UNDEFINED.
- Возвращает:
- Доли секунды для этого
XMLGregorianCalendar. - См. также:
compare
public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
Соответствие полей типа данных xsd:dateTime методам доступа этого класса определено в таблице соответствия полей даты/времени.
- Параметры:
-
xmlGregorianCalendar— экземплярXMLGregorianCalendarдля сравнения - Возвращает:
- Отношение между
thisXMLGregorianCalendarи указаннымxmlGregorianCalendarв видеDatatypeConstants.LESSER,DatatypeConstants.EQUAL,DatatypeConstants.GREATERилиDatatypeConstants.INDETERMINATE. - Исключения:
-
NullPointerException— еслиxmlGregorianCalendarравен null.
normalize
public abstract XMLGregorianCalendar normalize()
2000-03-04T23:00:00+03:00 нормализуется до 2000-03-04T20:00:00Z
Реализует положение (A) раздела 3.2.7.3 части 2 спецификации W3C XML Schema.
- Возвращает:
-
thisXMLGregorianCalendar, нормализованный по UTC.
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не равен null и является объектом XMLGregorianCalendar, представляющим тот же момент времени, что и этот объект.- Переопределяет:
-
equalsв классеObject - Параметры:
-
obj— объект для сравнения. - Возвращает:
-
true, еслиobjявляется экземпляромXMLGregorianCalendarиcompare(XMLGregorianCalendar obj)возвращаетDatatypeConstants.EQUAL; в противном случае —false. - См. также:
hashCode
toXMLFormat
public abstract String toXMLFormat()
this. Формат задан в документе XML Schema 1.0, часть 2, раздел 3.2.[7-14].1, Лексическое представление". Формат целевого лексического представления определяется методом getXMLSchemaType().
- Возвращает:
- Представление этого
XMLGregorianCalendarв формате XML в видеString - Исключения:
-
IllegalStateException— если комбинация установленных полей не соответствует ни одному из восьми встроенных типов данных даты/времени XML Schema.
getXMLSchemaType
public abstract QName getXMLSchemaType()
| Тип данных | год | месяц | день | час | минута | секунда |
|---|---|---|---|---|---|---|
DatatypeConstants.DATETIME | X | X | X | X | X | X |
DatatypeConstants.DATE | X | X | X | |||
DatatypeConstants.TIME | X | X | X | |||
DatatypeConstants.GYEARMONTH | X | X | ||||
DatatypeConstants.GMONTHDAY | X | X | ||||
DatatypeConstants.GYEAR | X | |||||
DatatypeConstants.GMONTH | X | |||||
DatatypeConstants.GDAY | X |
- Возвращает:
- Одну из следующих констант класса:
DatatypeConstants.DATETIME,DatatypeConstants.TIME,DatatypeConstants.DATE,DatatypeConstants.GYEARMONTH,DatatypeConstants.GMONTHDAY,DatatypeConstants.GYEAR,DatatypeConstants.GMONTHилиDatatypeConstants.GDAY. - Исключения:
-
IllegalStateException— если комбинация установленных полей не соответствует ни одному из восьми встроенных типов данных даты/времени XML Schema.
toString
public String toString()
String представление этого XMLGregorianCalendar Object. Результат представляет собой лексическое представление, созданное методом toXMLFormat().
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Допустимое в
nullпредставлениеStringэтогоXMLGregorianCalendar. - Исключения:
-
IllegalStateException— если комбинация установленных полей не соответствует ни одному из восьми встроенных типов данных даты/времени XML Schema. - См. также:
isValid
public abstract boolean isValid()
getXMLSchemaType().- Возвращает:
- true, если значения данных допустимы.
add
public abstract void add(Duration duration)
duration к этому экземпляру. Вычисление описано в XML Schema 1.0, часть 2, приложение E, Добавление длительностей к значениям dateTime. Таблица соответствия полей даты и времени определяет соответствие между полями dateTime XML Schema 1.0 и представлением этих полей в данном классе.
- Параметры:
-
duration— длительность, добавляемая к этомуXMLGregorianCalendar. - Исключения:
-
NullPointerException— если параметрdurationравенnull.
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar()
XMLGregorianCalendar в GregorianCalendar. Если у экземпляра this не определено поле, при преобразовании используется значение по умолчанию java.util.GregorianCalendar для соответствующего поля. Заметное различие между типами данных даты и времени XML Schema 1.0 и java.util.GregorianCalendar заключается в том, что значение часового пояса для типов данных даты и времени необязательно, а для java.util.GregorianCalendar это обязательное поле. См. документацию Javadoc для java.util.TimeZone.getDefault(), где описано, как определяется значение по умолчанию. Чтобы явно указать экземпляр TimeZone, см. toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar).
поле java.util.GregorianCalendar |
поле javax.xml.datatype.XMLGregorianCalendar |
|---|---|
ERA |
getEonAndYear().signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD
|
YEAR |
getEonAndYear().abs().intValue()*
|
MONTH |
getMonth() - DatatypeConstants.JANUARY + Calendar.JANUARY
|
DAY_OF_MONTH | getDay() |
HOUR_OF_DAY | getHour() |
MINUTE | getMinute() |
SECOND | getSecond() |
MILLISECOND | получить порядок миллисекунд из getFractionalSecond()* |
GregorianCalendar.setTimeZone(TimeZone) |
getTimezone(), отформатированное в пользовательский идентификатор часового пояса |
Для обеспечения единообразия реализаций преобразования новый GregorianCalendar следует создать следующим образом.
- Используя значение
timeZone, определённое выше, создайте новыйjava.util.GregorianCalendar(timeZone,Locale.getDefault()). - Инициализируйте все поля GregorianCalendar вызовом
Calendar.clear(). - Получите чистый григорианский календарь, вызвав
GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE)). - Его поля ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE, SECOND и MILLISECOND задаются с помощью метода
Calendar.set(int,int)
- Возвращает:
- Экземпляр
GregorianCalendar. - См. также:
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
XMLGregorianCalendar вместе с указанными параметрами в экземпляр GregorianCalendar. Поскольку в типах данных даты и времени XML Schema 1.0 нет понятия идентификаторов часовых поясов или идентификаторов часовых поясов с переходом на летнее время, эта операция преобразования позволяет пользователю явно указать такой идентификатор с помощью параметра timezone.
Для вычисления поля TimeZone возвращаемого значения выполняются следующие действия:
- если параметр
timeZoneне равен null, он используется как поле часового пояса. - иначе, если
this.getTimezone() != FIELD_UNDEFINED, создаётсяjava.util.TimeZoneс пользовательским идентификатором часового пояса с помощьюthis.getTimezone(). - иначе, если
defaults.getTimezone() != FIELD_UNDEFINED, создаётсяjava.util.TimeZoneс пользовательским идентификатором часового пояса с помощьюdefaults.getTimezone(). - иначе используется значение часового пояса
GregorianCalendarпо умолчанию для хоста, определённое согласноjava.util.TimeZone.getDefault().
Для обеспечения единообразия реализаций преобразования новый GregorianCalendar следует создать следующим образом.
- Создайте новый
java.util.GregorianCalendar(TimeZone, Locale)с часовым поясом, заданным описанным выше способом, и параметромLocale. - Инициализируйте все поля GregorianCalendar вызовом
Calendar.clear() - Получите чистый григорианский календарь, вызвав
GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE)). - Его поля ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE, SECOND и MILLISECOND задаются с помощью метода
Calendar.set(int,int)
- Параметры:
-
timezone— задаёт часовой пояс. Допустимое значение —null. -
aLocale— задаёт явную локаль. Если значение равноnull, используется локаль GregorianCalendar по умолчанию. -
defaults— задаёт значения полей по умолчанию, используемые, если соответствующее поле этого экземпляра равно FIELD_UNDEFINED или null. Еслиdefaultsравноnullили поле в указанномdefaultsне определено, используются значения по умолчаниюjava.util.GregorianCalendar. - Возвращает:
- Результат преобразования этого экземпляра в java.util.GregorianCalendar.
getTimeZone
public abstract TimeZone getTimeZone(int defaultZoneoffset)
java.util.TimeZone для этого класса. Если для этого экземпляра определено поле часового пояса, возвращается TimeZone, инициализированный пользовательским идентификатором часового пояса, соответствующим смещению часового пояса. Если поле часового пояса не определено, используется переданное значение defaultZoneoffset. Если defaultZoneoffset равно FIELD_UNDEFINED, возвращается часовой пояс по умолчанию для этого хоста. (То же значение по умолчанию, что и у java.util.GregorianCalendar).
- Параметры:
-
defaultZoneoffset— смещение часового пояса по умолчанию, если это смещение равноDatatypeConstants.FIELD_UNDEFINED. - Возвращает:
- Часовой пояс для этого экземпляра.
clone
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/datatype/XMLGregorianCalendar.html