Spec-Zone.ru › OpenJDK 17

Класс 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()
Возвращает строковое представление этого XMLGregorianCalendar Object типа String.
abstract String toXMLFormat()
Возвращает лексическое представление экземпляра this.

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

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

Конструктор Details

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.

Parameters:
year - ограничения значений, подытоженные в таблице сопоставления полей даты/времени - поле года.
Throws:
IllegalArgumentException - если значение параметра year выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setYear

public abstract void setYear(int year)
Установка года XSD dateTime поля года.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Примечание: если абсолютное значение параметра year меньше 10^9, то компонент эры поля года XSD устанавливается в null данным методом.

Parameters:
year - ограничения значений приведены в таблице сопоставления полей даты/времени - поле года. Если год равен DatatypeConstants.FIELD_UNDEFINED, то эра устанавливается в null.

setMonth

public abstract void setMonth(int month)
Установка месяца.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
month - ограничения значений приведены в таблице сопоставления полей даты/времени - поле месяц.
Throws:
IllegalArgumentException - если значение параметра month выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setDay

public abstract void setDay(int day)
Установка числа в месяце.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
day - ограничения значений приведены в таблице сопоставления полей даты/времени - поле день.
Throws:
IllegalArgumentException - если значение параметра day выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setTimezone

public abstract void setTimezone(int offset)
Установка количества минут в часовом поясе.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
offset - ограничения значений приведены в таблице сопоставления полей даты/времени - поле часовой пояс.
Throws:
IllegalArgumentException - если значение параметра offset выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setTime

public void setTime(int hour, int minute, int second)
Установка времени как единого значения.
Parameters:
hour - ограничения значений приведены в таблице сопоставления полей даты/времени - поле час.
minute - ограничения значений приведены в таблице сопоставления полей даты/времени - поле минута.
second - ограничения значений приведены в таблице сопоставления полей даты/времени - поле секунда.
Throws:
IllegalArgumentException - если любое значение параметра выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.
See Also:
  • setTime(int, int, int, BigDecimal)

setHour

public abstract void setHour(int hour)
Установка часов.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
hour - ограничения значений приведены в таблице сопоставления полей даты/времени - поле час.
Throws:
IllegalArgumentException - если значение параметра hour выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setMinute

public abstract void setMinute(int minute)
Установка минут.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
minute - ограничения значений приведены в таблице сопоставления полей даты/времени - поле минута.
Throws:
IllegalArgumentException - если значение параметра minute выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setSecond

public abstract void setSecond(int second)
Установка секунд.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
second - ограничения значений приведены в таблице сопоставления полей даты/времени - поле секунда.
Throws:
IllegalArgumentException - если значение параметра second выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setMillisecond

public abstract void setMillisecond(int millisecond)
Установка миллисекунд.

Сброс поля выполняется вызовом сеттера со значением параметра DatatypeConstants.FIELD_UNDEFINED.

Parameters:
millisecond - ограничения значений приведены в таблице сопоставления полей даты/времени - поле секунда.
Throws:
IllegalArgumentException - если значение параметра millisecond выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setFractionalSecond

public abstract void setFractionalSecond(BigDecimal fractional)
Установка дробной части секунды.

Сброс поля выполняется вызовом сеттера со значением параметра null.

Parameters:
fractional - ограничения значений приведены в таблице сопоставления полей даты/времени - поле секунда.
Throws:
IllegalArgumentException - если значение параметра fractional выходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.

setTime

public void setTime(int hour, int minute, int second, BigDecimal fractional)
Установка времени как единого значения, включая необязательную дробную часть секунды с бесконечной точностью.
Parameters:
hour - ограничения значений приведены в таблице сопоставления полей даты/времени - поле час.
minute - ограничения значений приведены в таблице сопоставления полей даты/времени - поле минута.
second - ограничения значений приведены в таблице сопоставления полей даты/времени - поле секунда.
fractional - значение null указывает, что это необязательное поле не установлено.
Throws:
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 1.0 для year. null если эта необязательная часть поля года не определена.

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

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

getYear

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

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

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

getEonAndYear

public abstract BigInteger getEonAndYear()
Возвращает поле типа данных dateTime схемы XML 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 1.0 W3C в соответствии с отношением частичного порядка, определённым в W3C XML Schema 1.0 Part 2, Section 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 Part 2, Section 3.2.7.3 (A).

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

equals

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

hashCode

public int hashCode()
Возвращает код хеширования, соответствующий определению метода equals.
Overrides:
hashCode в классе Object
Returns:
код хеширования этого объекта.
See Also:
  • 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().

Returns:
XML, в виде String, представление этого экземпляра XMLGregorianCalendar
Throws:
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
Returns:
Одно из следующих констант класса: DatatypeConstants.DATETIME, DatatypeConstants.TIME, DatatypeConstants.DATE, DatatypeConstants.GYEARMONTH, DatatypeConstants.GMONTHDAY, DatatypeConstants.GYEAR, DatatypeConstants.GMONTH или DatatypeConstants.GDAY.
Throws:
IllegalStateException - если комбинация установленных полей не соответствует одному из восьми встроенных типов данных даты/времени XML Schema.

toString

public String toString()
Возвращает строковое представление этого объекта XMLGregorianCalendar Object.

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

Overrides:
toString в классе Object
Returns:
Не пустое строковое представление этого объекта XMLGregorianCalendar.
Throws:
IllegalStateException - если комбинация установленных полей не соответствует одному из восьми встроенных типов данных даты/времени XML Schema.
See Also:
  • toXMLFormat()

isValid

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

add

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

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

Parameters:
duration - Продолжительность для добавления к этому экземпляру XMLGregorianCalendar.
Throws:
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().
  • Получите чистый календарь Gregorian, вызвав GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE)).
  • Его поля ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE, SECOND и MILLISECOND устанавливаются с помощью метода Calendar.set(int,int)
Returns:
Экземпляр GregorianCalendar.
See Also:
  • 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().
  • в противном случае использовать значение по умолчанию часового пояса для хоста, как определено в java.util.TimeZone.getDefault().

Для обеспечения согласованности в реализациях преобразования новый GregorianCalendar должен быть создан следующим образом.

  • Создать новый java.util.GregorianCalendar(TimeZone, Locale) с TimeZone, установленным как указано выше, и параметром Locale.
  • Инициализировать все поля GregorianCalendar, вызвав Calendar.clear()
  • Получить чистый календарь Gregorian, вызвав 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 - укажите Timezone. null является допустимым значением.
aLocale - укажите явную локаль. Используйте локаль GregorianCalendar по умолчанию, если значение равно null.
defaults - укажите значения по умолчанию для полей, используемые, когда соответствующее поле для этого экземпляра равно FIELD_UNDEFINED или null. Если defaults равно null или поле внутри указанного defaults не определено, просто используйте значения по умолчанию java.util.GregorianCalendar.
Returns:
преобразование java.util.GregorianCalendar этого экземпляра.

getTimeZone

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

Если поле часового пояса определено для этого экземпляра, возвращает 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, 2021, 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/17/docs/api/java.xml/javax/xml/datatype/XMLGregorianCalendar.html

Spec-Zone.ru

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