Класс 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, сложение длительностей с датами и временем.
- Начиная с:
- 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. |
Методы, объявленные в классе 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() |
Приостанавливает текущий поток до пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает текущий поток до пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
XMLGregorianCalendar
public XMLGregorianCalendar()
Примечание: всегда используйте DatatypeFactory для создания экземпляра XMLGregorianCalendar. Нельзя гарантировать, что конструктор этого класса создаст объект в согласованном состоянии; в будущем он может быть удалён.
Подробное описание методов
clear
public abstract void clear()
Установить для всех полей типа int значение 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— ограничения на значение приведены в таблице соответствия полей даты/времени, поле года. Если год равен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
Реализует W3C XML Schema, часть 2, раздел 3.2.7.3 (A).
- Возвращает:
-
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представление этогоXMLGregorianCalendarв формате, не соответствующемString. - Исключения:
-
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), задав для TimeZone значение, указанное выше, и параметр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. - Возвращает:
- TimeZone для этого экземпляра.
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.