Spec-Zone.ru › OpenJDK 21

Класс 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, Добавление продолжительностей к датам/временам.
С момента:
1.5
См. также:
  • Duration
  • DatatypeFactory
END_OF_DOCUMENT_MARKER

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

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

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

Модификатор и тип Метод Описание
abstract void add(Duration duration)
Добавить duration к этому экземпляру.
abstract void clear()
Сбросить все поля в undefined.
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.

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

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

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

XMLGregorianCalendar

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

Примечание: всегда используйте DatatypeFactory для создания экземпляра XMLGregorianCalendar. Конструктор этого класса не гарантирует создание объекта с согласованным состоянием и может быть удален в будущем.

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

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 - ограничения на значения приведены в таблице сопоставления полей даты/времени - поле год. Если год равен 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)
Сравнение двух экземпляров типов данных даты/времени XML Schema 1.0 W3C в соответствии с отношением частичного порядка, определенным в 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

Реализует W3C XML Schema Часть 2, Раздел 3.2.7.3 (A).

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

equals

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

hashCode

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

toXMLFormat

public abstract String toXMLFormat()
Возвращает лексическое представление экземпляра this. Формат указан в XML Schema 1.0 Part 2, Section 3.2.[7-14].1, Лексическое представление".

Конкретный целевой формат лексического представления определяется getXMLSchemaType().

Возвращает:
XML-представление этого XMLGregorianCalendar, в формате 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()
Возвращает строковое представление этого экземпляра XMLGregorianCalendar Object.

Результат — лексическое представление, сгенерированное методом toXMLFormat().

Overrides:
toString в классе Object
Возвращает:
Не-null валидное строковое представление этого XMLGregorianCalendar.
Исключения:
IllegalStateException - если комбинация установленных полей не соответствует одному из восьми встроенных типов данных даты/времени XML Schema.
См. также:
  • toXMLFormat()

isValid

public abstract boolean isValid()
Проверяет валидность экземпляра по getXMLSchemaType() ограничениям.
Возвращает:
true, если значения данных валидны.

add

public abstract void add(Duration duration)
Добавляет duration к этому экземпляру.

Вычисление определяется в XML Schema 1.0 Part 2, Appendix E, Добавление интервалов к датам/времени. Таблица сопоставления полей даты/времени определяет отображение полей XML Schema 1.0 dateTime в представление этих полей в этом классе.

Параметры:
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 get миллисекундный порядок из 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)
Parameters:
timezone - укажите часовой пояс. null является допустимым значением.
aLocale - укажите явное значение Locale. Используйте локаль GregorianCalendar по умолчанию, если значение равно null.
defaults - укажите значения по умолчанию для полей, которые нужно использовать, когда соответствующее поле для этого экземпляра равно FIELD_UNDEFINED или null. Если defaults равно null или поле в указанном defaults не определено, просто используйте значения по умолчанию java.util.GregorianCalendar.
Returns:
java.util.GregorianCalendar преобразование этого экземпляра.

getTimeZone

public abstract TimeZone getTimeZone(int defaultZoneoffset)
Возвращает часовой пояс для этого класса.

Если поле часового пояса определено для этого экземпляра, возвращает TimeZone, инициализированный с пользовательским идентификатором часового пояса zoneoffset. Если поле часового пояса не определено, попробуйте значение defaultZoneoffset, которое было передано. Если defaultZoneoffset равен FIELD_UNDEFINED, верните часовой пояс по умолчанию для этого хоста. (Такой же по умолчанию, как в java.util.GregorianCalendar).

Parameters:
defaultZoneoffset - значение по умолчанию zoneoffset, если этот zoneoffset равен DatatypeConstants.FIELD_UNDEFINED.
Returns:
TimeZone для этого.

clone

public abstract Object clone()
Создает и возвращает копию этого объекта.
Overrides:
clone в классе Object
Returns:
копию этого Object
See Also:
  • Cloneable

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/javax/xml/datatype/XMLGregorianCalendar.html

Spec-Zone.ru

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