Класс XMLGregorianCalendar
- Все реализованные интерфейсы:
Cloneable
public abstract class XMLGregorianCalendar extends Object implements Cloneable
Представление типов дат/времени W3C XML Schema 1.0. В частности, эти типы дат/времени являются DatatypeConstants.DATETIME, DatatypeConstants.TIME, DatatypeConstants.DATE, DatatypeConstants.GYEARMONTH, DatatypeConstants.GMONTHDAY, DatatypeConstants.GYEAR, DatatypeConstants.GMONTH и DatatypeConstants.GDAY, определённые в пространстве имён XML "http://www.w3.org/2001/XMLSchema". Эти типы данных нормативно определены в W3C XML Schema 1.0, Часть 2, Раздел 3.2.7-14.
В таблице ниже приведено отображение полей типов дат/времени XML Schema 1.0 и полей данного класса. Также в ней приведены ограничения на значения для полей даты и времени, определенные в W3C XML Schema 1.0, Часть 2, Приложение D, Форматы дат и времени ISO 8601.
| Поле типа дата/время XML Schema 1.0 | Связанные методы доступа XMLGregorianCalendar | Диапазон значений |
|---|---|---|
| год | getYear() + getEon() илиgetEonAndYear() | getYear() представляет собой значение от -(10^9-1) до (10^9)-1 или DatatypeConstants.FIELD_UNDEFINED.getEon() — значение года высшего порядка в миллиардах лет.getEon() имеет значения больше или равно (10^9) или меньше или равно -(10^9). Значение null указывает на неопределённое поле.Учитывая, что в исправлении XML Schema 1.0 указано, что ноль года будет допустимым лексическим значением в будущей версии XML Schema, данный класс разрешает установить значение поля года равным нулю. В противном случае значение поля года обрабатывается точно так, как описано в исправлении, и [ISO-8601-1988]. Обратите внимание, что валидация W3C XML Schema 1.0 не допускает значения нуля для поля года. |
| месяц | getMonth() | от 1 до 12 или DatatypeConstants.FIELD_UNDEFINED |
| день | getDay() | независимо от месяца, максимальный диапазон — от 1 до 31 или DatatypeConstants.FIELD_UNDEFINED.Нормативные ограничения на значение относительно значения поля месяца указаны в W3C XML Schema 1.0, Часть 2, Приложение D. |
| час | getHour() | от 0 до 23 или DatatypeConstants.FIELD_UNDEFINED. Значение часа 24 допускается в лексическом пространстве при условии, что значения минут и секунд равны нулю. Однако значение часа 24 не допускается в пространстве значений и будет преобразовано для представления первого момента следующего дня в соответствии с XML Schema, Часть 2: Типы данных, Второе издание, 3.2 Примитивные типы данных. |
| минута | getMinute() | от 0 до 59 или DatatypeConstants.FIELD_UNDEFINED |
| секунда | getSecond() + getMillisecond()/1000 илиgetSecond() + getFractionalSecond() | getSecond() от 0 до 60 или DatatypeConstants.FIELD_UNDEFINED.(Примечание: 60 допускается только для високосной секунды.) getFractionalSecond() позволяет использовать бесконечную точность в диапазоне от 0,0 до 1,0, когда getSecond() определено.FractionalSecond является необязательным и имеет значение null при неопределённости.getMillisecond() — удобное представление в миллисекундах значения getFractionalSecond(). |
| часовой пояс | getTimezone() | Количество минут или DatatypeConstants.FIELD_UNDEFINED. Диапазон значений от -14 часов (-14 * 60 минут) до 14 часов (14 * 60 минут). |
Все максимальные ограничения на пространство значений полей в таблице выше проверяются методами фабрики, DatatypeFactory, методами-модификаторами и методами парсинга данного класса. IllegalArgumentException возникает, когда значение параметра выходит за пределы ограничения на значение поля или если составные значения образуют недопустимый экземпляр XMLGregorianCalendar (например, если указано 31 июня).
Для этого класса определены следующие операции:
- методы доступа/модификаторы для отдельных полей даты/времени
- преобразование между этим классом и лексическим представлением W3C XML Schema 1.0,
toString(),DatatypeFactory.newXMLGregorianCalendar(String lexicalRepresentation) - преобразование между этим классом и
GregorianCalendar,toGregorianCalendar(java.util.TimeZone timezone, java.util.Locale aLocale, XMLGregorianCalendar defaults),DatatypeFactory - метод сравнения частичного порядка,
compare(XMLGregorianCalendar xmlGregorianCalendar) -
equals(Object)определено относительноcompare(XMLGregorianCalendar xmlGregorianCalendar). - операция сложения с экземпляром
Duration, как определено в W3C XML Schema 1.0, Часть 2, Приложение E, Добавление продолжительностей к датам/временам.
- С момента:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
XMLGregorianCalendar() |
Конструктор по умолчанию без аргументов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
add |
Добавить duration к этому экземпляру. |
abstract void |
clear() |
Сбросить все поля в undefined. |
abstract Object |
clone() |
Создаёт и возвращает копию этого объекта. |
abstract int |
compare |
Сравнивает два экземпляра типов данных даты/времени W3C XML Schema 1.0 в соответствии с отношением частичного порядка, определённым в W3C XML Schema 1.0 Часть 2, Раздел 3.2.7.3, Отношение порядка на dateTime. |
boolean |
equals |
Сравнивает этот календарь с указанным объектом. |
abstract int |
getDay() |
Возвращает день месяца или DatatypeConstants.FIELD_UNDEFINED. |
abstract BigInteger |
getEon() |
Возвращает старший компонент для поля типа данных dateTime XML Schema 1.0 для year. |
abstract BigInteger |
getEonAndYear() |
Возвращает поле типа данных dateTime XML Schema 1.0 для year. |
abstract BigDecimal |
getFractionalSecond() |
Возвращает дробную часть секунды. |
abstract int |
getHour() |
Возвращает час дня или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
int |
getMillisecond() |
Возвращает миллисекундную точность getFractionalSecond(). |
abstract int |
getMinute() |
Возвращает минуту часа или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
abstract int |
getMonth() |
Возвращает месяц этого календаря или DatatypeConstants.FIELD_UNDEFINED. |
abstract int |
getSecond() |
Возвращает секунду минуты или DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. |
abstract int |
getTimezone() |
Возвращает смещение часового пояса в минутах или DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено. |
abstract TimeZone |
getTimeZone |
Возвращает java.util.TimeZone для этого класса. |
abstract QName |
getXMLSchemaType() |
Возвращает имя типа даты/времени XML Schema, к которому сопоставляется этот экземпляр. |
abstract int |
getYear() |
Возвращает младший компонент для поля типа данных dateTime XML Schema 1.0 для year или DatatypeConstants.FIELD_UNDEFINED. |
int |
hashCode() |
Возвращает хэш-код, согласующийся с определением метода equals. |
abstract boolean |
isValid() |
Проверка экземпляра по ограничениям getXMLSchemaType(). |
abstract XMLGregorianCalendar |
normalize() |
Нормализует этот экземпляр к UTC. |
abstract void |
reset() |
Сбрасывает этот XMLGregorianCalendar до его исходных значений. |
abstract void |
setDay |
Установить число дней в месяце. |
abstract void |
setFractionalSecond |
Установить дробную часть секунды. |
abstract void |
setHour |
Установить часы. |
abstract void |
setMillisecond |
Установить миллисекунды. |
abstract void |
setMinute |
Установить минуты. |
abstract void |
setMonth |
Установить месяц. |
abstract void |
setSecond |
Установить секунды. |
void |
setTime |
Установить время как единицу. |
void |
setTime |
Установить время как единицу, включая необязательные миллисекунды. |
void |
setTime |
Установить время как единицу, включая необязательные дробные секунды с бесконечной точностью. |
abstract void |
setTimezone |
Установить количество минут в смещении часового пояса. |
abstract void |
setYear |
Установить год XSD dateTime поля года. |
abstract void |
setYear |
Установить старший и младший компоненты XSD dateTime поля года. |
abstract GregorianCalendar |
toGregorianCalendar() |
Преобразовать этот XMLGregorianCalendar в GregorianCalendar. |
abstract GregorianCalendar |
toGregorianCalendar |
Преобразовать этот XMLGregorianCalendar вместе с предоставленными параметрами в экземпляр GregorianCalendar. |
String |
toString() |
Возвращает представление String этого XMLGregorianCalendar Object. |
abstract String |
toXMLFormat() |
Возвращает лексическое представление экземпляра this. |
Подробное описание конструкторов
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)
dateTime. Сбросить это поле можно, вызвав сеттер со значением параметра null.
- Параметры:
-
year- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле год. - Исключения:
-
IllegalArgumentException- если параметрyearвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setYear
public abstract void setYear(int year)
dateTime. Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
Примечание: если абсолютное значение параметра year меньше 10^9, компонент эпохи поля года XSD устанавливается в null этим методом.
- Параметры:
-
year- ограничения на значения приведены в таблице сопоставления полей даты/времени - поле год. Если год равенDatatypeConstants.FIELD_UNDEFINED, то эпоха устанавливается вnull.
setMonth
public abstract void setMonth(int month)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
month- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле месяц. - Исключения:
-
IllegalArgumentException- если параметрmonthвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setDay
public abstract void setDay(int day)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
day- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле день. - Исключения:
-
IllegalArgumentException- если параметрdayвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setTimezone
public abstract void setTimezone(int offset)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
offset- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле часовой пояс. - Исключения:
-
IllegalArgumentException- если параметрoffsetвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour, int minute, int second)
- Параметры:
-
hour- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле час. -
minute- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле минута. -
second- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле секунда. - Исключения:
-
IllegalArgumentException- если любой параметр выходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени. - См. также:
setHour
public abstract void setHour(int hour)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
hour- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле час. - Исключения:
-
IllegalArgumentException- если параметрhourвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setMinute
public abstract void setMinute(int minute)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
minute- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле минута. - Исключения:
-
IllegalArgumentException- если параметрminuteвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setSecond
public abstract void setSecond(int second)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
second- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле секунда. - Исключения:
-
IllegalArgumentException- если параметрsecondвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setMillisecond
public abstract void setMillisecond(int millisecond)
Сбросить это поле можно, вызвав сеттер со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
millisecond- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле секунда. - Исключения:
-
IllegalArgumentException- если параметрmillisecondвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setFractionalSecond
public abstract void setFractionalSecond(BigDecimal fractional)
Сбросить это поле можно, вызвав сеттер со значением параметра null.
- Параметры:
-
fractional- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле секунда. - Исключения:
-
IllegalArgumentException- если параметрfractionalвыходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour, int minute, int second, BigDecimal fractional)
- Параметры:
-
hour- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле час. -
minute- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле минута. -
second- ограничения на значения, приведенные в таблице сопоставления полей даты/времени - поле секунда. -
fractional- значениеnullуказывает, что это необязательное поле не задано. - Исключения:
-
IllegalArgumentException- если любой параметр выходит за пределы ограничений на значения для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour, int minute, int second, int millisecond)
- Параметры:
-
hour- ограничения значений приведены в таблице соответствия полей даты/времени для поля час. -
minute- ограничения значений приведены в таблице соответствия полей даты/времени для поля минута. -
second- ограничения значений приведены в таблице соответствия полей даты/времени для поля секунда. -
millisecond- значениеDatatypeConstants.FIELD_UNDEFINEDуказывает, что это необязательное поле не задано. - Исключение:
-
IllegalArgumentException- если любой параметр выходит за пределы допустимых значений для поля, как указано в таблице соответствия полей даты/времени.
getEon
public abstract BigInteger getEon()
year. null если эта необязательная часть поля года не определена. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля год.
- Возвращает:
- Эон этого
XMLGregorianCalendar. Возвращаемое значение является целым числом, кратным 10^9. - См. также:
getYear
public abstract int getYear()
year или DatatypeConstants.FIELD_UNDEFINED. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля год.
- Возвращает:
- Год этого
XMLGregorianCalendar. - См. также:
getEonAndYear
public abstract BigInteger getEonAndYear()
year. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля год.
- Возвращает:
- сумма
eonиBigInteger.valueOf(year)при определении обоих полей. Если определено толькоyear, вернуть его. Если ниeon, ниyearне определены, вернутьnull. - См. также:
getMonth
public abstract int getMonth()
DatatypeConstants.FIELD_UNDEFINED. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля месяц.
- Возвращает:
- Месяц этого
XMLGregorianCalendar, от 1 до 12.
getDay
public abstract int getDay()
DatatypeConstants.FIELD_UNDEFINED. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля день.
- Возвращает:
- День месяца этого
XMLGregorianCalendar, от 1 до 31. - См. также:
getTimezone
public abstract int getTimezone()
DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля часовой пояс.
- Возвращает:
- Смещение часового пояса в минутах этого
XMLGregorianCalendar. - См. также:
getHour
public abstract int getHour()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля час.
- Возвращает:
- Час в сутках этого
XMLGregorianCalendar, от 0 до 23. - См. также:
getMinute
public abstract int getMinute()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля минута.
- Возвращает:
- Минуту этого
XMLGregorianCalendar, от 0 до 59. - См. также:
getSecond
public abstract int getSecond()
DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Когда это поле не определено, необязательное дробное поле секунд xs:dateTime, представленное getFractionalSecond() и getMillisecond(), не должно быть определено. Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля секунда.
- Возвращает:
- Секунду этого
XMLGregorianCalendar, от 0 до 59. - См. также:
getMillisecond
public int getMillisecond()
getFractionalSecond(). Этот метод представляет собой удобный метод доступа к значению дробной секунды с бесконечной точностью, возвращаемому getFractionalSecond(). Возвращаемое значение — это округленное вниз до миллисекунд значение getFractionalSecond(). Когда getFractionalSecond() возвращает null, этот метод должен вернуть DatatypeConstants.FIELD_UNDEFINED.
Ограничения значений для этого значения приведены в таблице соответствия полей даты/времени для поля секунда.
- Возвращает:
- Миллисекунды с точностью до этого
XMLGregorianCalendar. - См. также:
getFractionalSecond
public abstract BigDecimal getFractionalSecond()
null возвращается, когда это необязательное поле не определено.
Ограничения значений подробно описаны в таблице соответствия полей даты/времени для поля секунда.
Это необязательное поле может иметь определённое значение только тогда, когда поле секунд xs:dateTime, представленное getSecond(), не возвращает DatatypeConstants.FIELD_UNDEFINED.
- Возвращает:
- Дробные секунды этого
XMLGregorianCalendar. - См. также:
compare
public abstract int compare(XMLGregorianCalendar xmlGregorianCalendar)
xsd:dateTime соответствие полей типа данных к методам доступа этого класса определены в таблице соответствия полей даты/времени.
- Параметры:
-
xmlGregorianCalendar- ЭкземплярXMLGregorianCalendarдля сравнения - Возвращает:
- Отношение между
thisXMLGregorianCalendarи указаннымxmlGregorianCalendarкакDatatypeConstants.LESSER,DatatypeConstants.EQUAL,DatatypeConstants.GREATERилиDatatypeConstants.INDETERMINATE. - Исключение:
-
NullPointerException- еслиxmlGregorianCalendarравно null.
normalize
public abstract XMLGregorianCalendar normalize()
2000-03-04T23:00:00+03:00 нормализуется до 2000-03-04T20:00:00Z
Реализует W3C XML Schema Часть 2, Раздел 3.2.7.3 (A).
- Возвращает:
-
thisXMLGregorianCalendarнормализованный до UTC.
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не равен null и является объектом типа XMLGregorianCalendar, представляющим тот же момент времени, что и этот объект.- Overrides:
-
equalsв классеObject - Параметры:
-
obj- для сравнения. - Возвращает:
-
trueеслиobjявляется экземпляромXMLGregorianCalendarиcompare(XMLGregorianCalendar obj)возвращаетDatatypeConstants.EQUAL, в противном случаеfalse. - См. также:
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классе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()
| Тип | год | месяц | день | час | минута | секунда |
|---|---|---|---|---|---|---|
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. - См. также:
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 поле |
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
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:
© 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