Spec-Zone.ru › OpenJDK 25

Класс XMLGregorianCalendar

java.lang.Object
javax.xml.datatype.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 и представлением Java
Поле
типа данных
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
См. также:
  • Duration
  • DatatypeFactory

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

Конструктор Описание
XMLGregorianCalendar()
Конструктор без аргументов по умолчанию.

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

Модификатор и тип Метод Описание
abstract void add(Duration duration)
Добавляет duration к этому экземпляру.
abstract void clear()
Сбрасывает все поля в неопределённое состояние.
abstract Object clone()
Создаёт и возвращает копию этого объекта.
abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
Сравнивает два экземпляра типов данных даты и времени W3C XML Schema 1.0 в соответствии с отношением частичного порядка, определённым в W3C XML Schema 1.0, часть 2, раздел 3.2.7.3, Отношение порядка для dateTime.
boolean equals(Object obj)
Сравнивает этот календарь с указанным объектом.
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(int defaultZoneoffset)
Возвращает 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(int day)
Задаёт день месяца.
abstract void setFractionalSecond(BigDecimal fractional)
Задаёт дробную часть секунд.
abstract void setHour(int hour)
Задаёт часы.
abstract void setMillisecond(int millisecond)
Задаёт миллисекунды.
abstract void setMinute(int minute)
Задаёт минуты.
abstract void setMonth(int month)
Задаёт месяц.
abstract void setSecond(int second)
Задаёт секунды.
void setTime(int hour, int minute, int second)
Задаёт время целиком.
void setTime(int hour, int minute, int second, int millisecond)
Задаёт время целиком, включая необязательные миллисекунды.
void setTime(int hour, int minute, int second, BigDecimal fractional)
Задаёт время целиком, включая необязательную дробную часть секунд с бесконечной точностью.
abstract void setTimezone(int offset)
Задаёт количество минут в смещении часового пояса.
abstract void setYear(int year)
Задаёт год поля года XSD dateTime.
abstract void setYear(BigInteger year)
Задаёт младшую и старшую части поля года XSD dateTime.
abstract GregorianCalendar toGregorianCalendar()
Преобразует этот XMLGregorianCalendar в GregorianCalendar.
abstract GregorianCalendar toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)
Преобразует этот XMLGregorianCalendar вместе с указанными параметрами в экземпляр GregorianCalendar.
String toString()
Возвращает представление String этого XMLGregorianCalendar Object.
abstract String toXMLFormat()
Возвращает лексическое представление экземпляра this.

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

finalize, getClass, notify, notifyAll, wait, wait, wait

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

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)
Установить старшую и младшую части поля года XSD dateTime.

Сбросить это поле, вызвав метод установки со значением параметра null.

Параметры:
year — ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.
Исключения:
IllegalArgumentException — если значение параметра year выходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.

setYear

public abstract void setYear(int year)
Установить год в поле года XSD 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 — если значение любого параметра выходит за пределы ограничений для поля, указанных в таблице соответствия полей даты/времени.
См. также:
  • setTime(int, int, int, BigDecimal)

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()
Возвращает старшую часть поля типа данных dateTime XML Schema 1.0 для year. null, если эта необязательная часть поля года не определена.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.

Возвращает:
Эон этого XMLGregorianCalendar. Возвращаемое значение кратно 10^9.
См. также:
  • getYear()
  • getEonAndYear()

getYear

public abstract int getYear()
Возвращает младшую часть поля типа данных dateTime XML Schema 1.0 для year или DatatypeConstants.FIELD_UNDEFINED.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.

Возвращает:
Год этого XMLGregorianCalendar.
См. также:
  • getEon()
  • getEonAndYear()

getEonAndYear

public abstract BigInteger getEonAndYear()
Возвращает поле типа данных dateTime XML Schema 1.0 для year.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле года.

Возвращает:
Сумму eon и BigInteger.valueOf(year), если определены оба поля. Если определено только year, возвращается оно. Если не определены ни eon, ни year, возвращается null.
См. также:
  • getEon()
  • getYear()

getMonth

public abstract int getMonth()
Возвращает месяц этого календаря или DatatypeConstants.FIELD_UNDEFINED.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле месяца.

Возвращает:
Месяц этого XMLGregorianCalendar — от 1 до 12.

getDay

public abstract int getDay()
Возвращает день месяца или DatatypeConstants.FIELD_UNDEFINED.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле дня.

Возвращает:
День месяца этого XMLGregorianCalendar — от 1 до 31.
См. также:
  • setDay(int)

getTimezone

public abstract int getTimezone()
Возвращает смещение часового пояса в минутах или DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле часового пояса.

Возвращает:
Смещение часового пояса в минутах для этого XMLGregorianCalendar.
См. также:
  • setTimezone(int)

getHour

public abstract int getHour()
Возвращает час дня или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле часа.

Возвращает:
Час дня для этого XMLGregorianCalendar — от 0 до 23.
См. также:
  • setTime(int, int, int)

getMinute

public abstract int getMinute()
Возвращает минуту часа или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле минуты.

Возвращает:
Минута часа для этого XMLGregorianCalendar — от 0 до 59.
См. также:
  • setTime(int, int, int)

getSecond

public abstract int getSecond()
Возвращает секунду минуты или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Если это поле не определено, необязательное поле дробных секунд xs:dateTime, представленное методами getFractionalSecond() и getMillisecond(), также не должно быть определено.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды.

Возвращает:
Секунда минуты для этого XMLGregorianCalendar — от 0 до 59.
См. также:
  • getFractionalSecond()
  • getMillisecond()
  • setTime(int, int, int)

getMillisecond

public int getMillisecond()
Возвращает значение дробных секунд getFractionalSecond() с точностью до миллисекунд.

Этот метод предоставляет удобный способ получить значение дробных секунд с неограниченной точностью, возвращаемое методом getFractionalSecond(). Возвращаемое значение — результат округления вниз значения getFractionalSecond() до миллисекунд. Если метод getFractionalSecond() возвращает null, этот метод должен вернуть DatatypeConstants.FIELD_UNDEFINED.

Ограничения на значения приведены в таблице соответствия полей даты/времени, поле секунды.

Возвращает:
Значение этого XMLGregorianCalendar с точностью до миллисекунд.
См. также:
  • getFractionalSecond()
  • setTime(int, int, int)

getFractionalSecond

public abstract BigDecimal getFractionalSecond()
Возвращает доли секунды.

Если это необязательное поле не определено, возвращается null.

Ограничения на значения подробно описаны в таблице соответствия полей даты/времени, поле секунды.

Значение этого необязательного поля может быть определено только в том случае, если поле секунд xs:dateTime, представленное методом getSecond(), не возвращает DatatypeConstants.FIELD_UNDEFINED.

Возвращает:
Доли секунды для этого XMLGregorianCalendar.
См. также:
  • getSecond()
  • setTime(int, int, int, BigDecimal)

compare

public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
Сравнивает два экземпляра типов данных даты/времени W3C XML Schema 1.0 согласно отношению частичного порядка, определённому в документе W3C XML Schema 1.0, часть 2, раздел 3.2.7.3, Отношение порядка для dateTime.

Соответствие полей типа данных xsd:dateTime методам доступа этого класса определено в таблице соответствия полей даты/времени.

Параметры:
xmlGregorianCalendar — экземпляр XMLGregorianCalendar для сравнения
Возвращает:
Отношение между this XMLGregorianCalendar и указанным xmlGregorianCalendar в виде DatatypeConstants.LESSER, DatatypeConstants.EQUAL, DatatypeConstants.GREATER или DatatypeConstants.INDETERMINATE.
Исключения:
NullPointerException — если xmlGregorianCalendar равен null.

normalize

public abstract XMLGregorianCalendar normalize()
Нормализует этот экземпляр по UTC.

2000-03-04T23:00:00+03:00 нормализуется до 2000-03-04T20:00:00Z

Реализует положение (A) раздела 3.2.7.3 части 2 спецификации W3C XML Schema.

Возвращает:
this XMLGregorianCalendar, нормализованный по UTC.

equals

public boolean equals(Object obj)
Сравнивает этот календарь с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не равен null и является объектом XMLGregorianCalendar, представляющим тот же момент времени, что и этот объект.
Переопределяет:
equals в классе Object
Параметры:
obj — объект для сравнения.
Возвращает:
true, если obj является экземпляром XMLGregorianCalendar и compare(XMLGregorianCalendar obj) возвращает DatatypeConstants.EQUAL; в противном случае — false.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

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

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()
Возвращает имя типа даты/времени XML Schema, которому соответствует этот экземпляр. Тип определяется на основе установленных полей.
Обязательные поля типов данных даты/времени XML Schema 1.0.
(часовой пояс является необязательным для всех типов данных даты/времени)
Тип данных год месяц день час минута секунда
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.
См. также:
  • toXMLFormat()

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
поле 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(java.util.TimeZone, java.util.Locale, XMLGregorianCalendar)

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

public abstract Object clone()
Создаёт и возвращает копию этого объекта.
Переопределяет:
clone в классе Object
Возвращает:
копию этого Object
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/datatype/XMLGregorianCalendar.html

Spec-Zone.ru

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