Класс XMLGregorianCalendar

Все реализованные интерфейсы:
Cloneable
public abstract class XMLGregorianCalendar
extends Object
implements Cloneable

Представление для типов данных даты/времени W3C XML Schema 1.0. В частности, эти типы данных даты/времени являются DatatypeConstants.DATETIME, DatatypeConstants.TIME, DatatypeConstants.DATE, DatatypeConstants.GYEARMONTH, DatatypeConstants.GMONTHDAY, DatatypeConstants.GYEAR, DatatypeConstants.GMONTH и DatatypeConstants.GDAY, определенных в пространстве имен XML "http://www.w3.org/2001/XMLSchema". Эти типы данных нормативно определены в W3C XML Schema 1.0 Часть 2, раздел 3.2.7-14.

В таблице ниже определена связь между полями типов данных даты/времени XML Schema 1.0 и полями этого класса. Она также обобщает ограничения значений для полей даты и времени, определенные в W3C XML Schema 1.0 Часть 2, Приложение D, Форматы даты и времени ISO 8601.

Поле типа данных
XML Schema 1.0
Связанные
методы доступа
XMLGregorianCalendar
Диапазон значений
год getYear() + getEon() или
getEonAndYear()
getYear() - значение от -(10^9-1) до (10^9)-1 или DatatypeConstants.FIELD_UNDEFINED.
getEon() - значение года в миллиардах лет.
getEon() - значения больше или равно (10^9) или меньше или равно -(10^9). Значение null указывает, что поле не определено.
Учитывая, что поправки к XML Schema 1.0 указывают, что год ноль будет допустимым лексическим значением в будущей версии XML Schema, этот класс позволяет устанавливать значение поля года в ноль. В противном случае значение поля года обрабатывается точно так, как описано в поправках и [ISO-8601-1988]. Обратите внимание, что валидация W3C XML Schema 1.0 не допускает значение поля года равным нулю.
месяц getMonth() От 1 до 12 или DatatypeConstants.FIELD_UNDEFINED
день getDay() Независимо от месяца, максимальный диапазон от 1 до 31 или DatatypeConstants.FIELD_UNDEFINED.
Нормативное ограничение значения, связанное со значением поля месяца, указано в W3C XML Schema 1.0 Часть 2, Приложение D.
час getHour() От 0 до 23 или DatatypeConstants.FIELD_UNDEFINED. Значение часа 24 допускается в лексическом пространстве, при условии, что значения полей минут и секунд равны нулю. Однако значение часа 24 не допускается в пространстве значений и будет преобразовано для представления первого момента следующего дня в соответствии с XML Schema Part 2: Datatypes, Второе издание, 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 июня).

Для этого класса определены следующие операции:

С:
1.5
См. также:
Duration, DatatypeFactory

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

Конструктор Описание
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()

Сбросить все поля до неопределенного значения.

Установить все поля типа int в DatatypeConstants.FIELD_UNDEFINED, а поля ссылочного типа – в null.

reset

public abstract void reset()

Сбросить этот XMLGregorianCalendar к его исходным значениям.

XMLGregorianCalendar сбрасывается до тех же значений, что и при его создании с помощью DatatypeFactory.newXMLGregorianCalendar(), DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation), DatatypeFactory.newXMLGregorianCalendar( BigInteger year, int month, int day, int hour, int minute, int second, BigDecimal fractionalSecond, int timezone), DatatypeFactory.newXMLGregorianCalendar( int year, int month, int day, int hour, int minute, int second, int millisecond, int timezone), DatatypeFactory.newXMLGregorianCalendar(GregorianCalendar cal), DatatypeFactory.newXMLGregorianCalendarDate( int year, int month, int day, int timezone), DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, int timezone), DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, BigDecimal fractionalSecond, int timezone) или DatatypeFactory.newXMLGregorianCalendarTime( int hours, int minutes, int seconds, int milliseconds, int timezone).

reset() предназначен для повторного использования существующих XMLGregorianCalendar, что позволяет экономить ресурсы, связанные с созданием новых XMLGregorianCalendar.

setYear

public abstract void setYear(BigInteger year)

Установить младший и старший компоненты поля года типа 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()

Возвращает старший компонент для поля типа данных XML Schema 1.0 dateTime для 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)

Сравнивает две экземпляры типов данных даты/времени 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

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

Возвращает:
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(java.lang.Object)

toXMLFormat

public abstract String toXMLFormat()

Возвращает лексическое представление экземпляра this. Формат задан в XML Schema 1.0 Часть 2, Раздел 3.2.[7-14].1, Лексическое представление".

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

Возвращает:
XML, в формате String, представление этого XMLGregorianCalendar
Исключения:
IllegalStateException - если комбинация установленных полей не соответствует одному из восьми встроенных типов данных даты/времени XML Schema.

getXMLSchemaType

public abstract QName getXMLSchemaType()

Возвращает имя типа XML Schema date/time, к которому сопоставляется этот экземпляр. Тип вычисляется на основе установленных полей.

Тип данных год месяц день час минута секунда
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().

Переопределяет:
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 Часть 2, Приложение E, Добавление продолжительности к dateTimes. Таблица соответствия полей даты/времени datetimefieldmapping определяет отображение полей XML Schema 1.0 dateTime в представление этих полей в этом классе.

Параметры:
duration - Продолжительность для добавления к этому экземпляру XMLGregorianCalendar.
Выбрасывает:
NullPointerException - когда параметр duration имеет значение null.

toGregorianCalendar

public abstract GregorianCalendar toGregorianCalendar()

Преобразовать этот экземпляр XMLGregorianCalendar в GregorianCalendar.

Если у экземпляра XMLGregorianCalendar есть неопределённое поле, это преобразование опирается на значение по умолчанию java.util.GregorianCalendar для соответствующего поля. Отличием между типами данных даты/времени XML Schema 1.0 и java.util.GregorianCalendar является то, что значение часового пояса необязательно для типов данных даты/времени, а является обязательным для java.util.GregorianCalendar. См. javadoc для java.util.TimeZone.getDefault() о том, как определяется значение по умолчанию. Чтобы явно указать экземпляр TimeZone, см. toGregorianCalendar(TimeZone, Locale, XMLGregorianCalendar).

java.util.GregorianCalendar поле javax.xml.datatype.XMLGregorianCalendar поле
ERA getEonAndYear().signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD
YEAR getEonAndYear().abs().intValue()*
MONTH getMonth() - DatatypeConstants.JANUARY + Calendar.JANUARY
DAY_OF_MONTH getDay()
HOUR_OF_DAY getHour()
MINUTE getMinute()
SECOND getSecond()
MILLISECOND Миллисекундный порядок от getFractionalSecond()*
GregorianCalendar.setTimeZone(TimeZone) getTimezone() отформатировано в идентификатор настраиваемого часового пояса
* обозначает возможную потерю точности при преобразовании из-за того, что тип исходных данных имеет более высокую точность, чем целевой тип.

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

  • Используя значение timeZone, создайте новый экземпляр java.util.GregorianCalendar(timeZone,Locale.getDefault()).
  • Инициализируйте все поля GregorianCalendar, вызвав Calendar.clear().
  • Получите чистый календарь GregorianCalendar, вызвав 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().
  • иначе используется значение часового пояса по умолчанию для хоста, определённое согласно java.util.TimeZone.getDefault().

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

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

getTimeZone

public abstract TimeZone getTimeZone(int defaultZoneoffset)

Возвращает часовой пояс для этого класса.

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

Параметры:
defaultZoneoffset - смещение часового пояса по умолчанию, если это смещение часового пояса DatatypeConstants.FIELD_UNDEFINED.
Возвращает:
Часовой пояс для этого.

clone

public abstract Object clone()

Создаёт и возвращает копию этого объекта.

Переопределяет:
clone в классе Object
Возвращает:
копию этого Object
См. также:
Cloneable

© 1993, 2020, 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/11/docs/api/java.xml/javax/xml/datatype/XMLGregorianCalendar.html

Spec-Zone .ru
спецификации, руководства, описания, API