Класс 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() |
Возвращает строковое представление этого XMLGregorianCalendar Object типа String. |
abstract String |
toXMLFormat() |
Возвращает лексическое представление экземпляра this. |
Конструктор 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)
dateTime. Сброс поля выполняется вызовом сеттера со значением параметра null.
- Parameters:
-
year- ограничения значений, подытоженные в таблице сопоставления полей даты/времени - поле года. - Throws:
-
IllegalArgumentException- если значение параметраyearвыходит за пределы ограничений для поля, как указано в таблице сопоставления полей даты/времени.
setYear
public abstract void setYear(int year)
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:
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()
year. null если эта необязательная часть поля года не определена. Ограничения значений для этого значения приведены в таблице сопоставления полей даты/времени — поле год.
- Возвращает:
- Эон этого
XMLGregorianCalendar. Возвращаемое значение — целое число, кратное 10^9. - См. также:
getYear
public abstract int getYear()
year или DatatypeConstants.FIELD_UNDEFINED. Ограничения значений для этого значения приведены в таблице сопоставления полей даты/времени — поле год.
- Возвращает:
- Год этого
XMLGregorianCalendar. - См. также:
getEonAndYear
public abstract BigInteger getEonAndYear()
year. Ограничения значений для этого значения приведены в таблице сопоставления полей даты/времени — поле год.
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 Part 2, Section 3.2.7.3 (A).
- Возвращает:
-
thisXMLGregorianCalendarнормализованный до 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:
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классеObject - Returns:
- код хеширования этого объекта.
- See Also:
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()
| Тип данных | год | месяц | день | час | минута | секунда |
|---|---|---|---|---|---|---|
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:
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 поле |
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
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, если это zoneoffsetDatatypeConstants.FIELD_UNDEFINED. - Returns:
- TimeZone для этого.
clone
public abstract Object clone()
- Overrides:
-
cloneв классеObject - Returns:
- копия этого
Object - See Also:
© 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