Класс 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 минут). |
Все ограничения максимальных значений для полей в таблице выше проверяются методами фабрики, @{link 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
Конструкторы
| Конструктор и описание |
|---|
XMLGregorianCalendar() Конструктор по умолчанию без аргументов. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
abstract void |
add(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() Возвращает день месяца или |
abstract BigInteger |
getEon() Возвращает старший компонент для поля типа данных dateTime схемы XML 1.0 для |
abstract BigInteger |
getEonAndYear() Возвращает поле типа данных dateTime схемы XML 1.0 для |
abstract BigDecimal |
getFractionalSecond() Возвращает дробную часть секунд. |
abstract int |
getHour() Возвращает часы или |
int |
getMillisecond() Возвращает миллисекундную точность |
abstract int |
getMinute() Возвращает минуты или |
abstract int |
getMonth() Возвращает номер месяца или |
abstract int |
getSecond() Возвращает секунды или |
abstract int |
getTimezone() Возвращает смещение часового пояса в минутах или |
abstract TimeZone |
getTimeZone(int defaultZoneoffset) Возвращает |
abstract QName |
getXMLSchemaType() Возвращает имя типа даты/времени схемы XML, к которому отображается этот экземпляр. |
abstract int |
getYear() Возвращает младший компонент для поля типа данных dateTime схемы XML 1.0 для |
int |
hashCode() Возвращает хэш-код, соответствующий определению метода equals. |
abstract boolean |
isValid() Проверить экземпляр по ограничениям |
abstract XMLGregorianCalendar |
normalize() Нормализует этот экземпляр к UTC. |
abstract void |
reset() Сбросить этот |
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,
BigDecimal fractional) Установить время как единицу, включая необязательные дробные секунды с бесконечной точностью. |
void |
setTime(int hour,
int minute,
int second,
int millisecond) Установить время как единицу, включая необязательные миллисекунды. |
abstract void |
setTimezone(int offset) Установить количество минут в смещении часового пояса. |
abstract void |
setYear(BigInteger year) Установить младший и старший компонент поля года XSD |
abstract void |
setYear(int year) Установить год поля года XSD |
abstract GregorianCalendar |
toGregorianCalendar() Преобразовать этот |
abstract GregorianCalendar |
toGregorianCalendar(TimeZone timezone,
Locale aLocale,
XMLGregorianCalendar defaults) Преобразовать этот |
String |
toString() Возвращает представление |
abstract String |
toXMLFormat() Возвращает лексическое представление экземпляра |
Методы, унаследованные от класса 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- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле year. - Исключения:
-
IllegalArgumentException- если параметрyearвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setYear
public abstract void setYear(int year)
Установить год поля года XSD dateTime.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
Примечание: если абсолютное значение параметра year меньше 10^9, компонент эры поля года XSD устанавливается в null этим методом.
- Параметры:
-
year- ограничения значений суммированы в таблице сопоставления полей даты/времени, поле year. Если год равенDatatypeConstants.FIELD_UNDEFINED, то эра устанавливается вnull.
setMonth
public abstract void setMonth(int month)
Установить месяц.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
month- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле month. - Исключения:
-
IllegalArgumentException- если параметрmonthвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setDay
public abstract void setDay(int day)
Установить дни в месяце.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
day- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле day. - Исключения:
-
IllegalArgumentException- если параметрdayвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setTimezone
public abstract void setTimezone(int offset)
Установить количество минут в смещении часового пояса.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
offset- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле timezone. - Исключения:
-
IllegalArgumentException- если параметрoffsetвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour,
int minute,
int second) Установить время как один блок.
- Параметры:
-
hour- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле hour. -
minute- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле minute. -
second- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле second. - Исключения:
-
IllegalArgumentException- если любой параметр выходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени. - См. также:
setTime(int, int, int, BigDecimal)
setHour
public abstract void setHour(int hour)
Установить часы.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
hour- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле hour. - Исключения:
-
IllegalArgumentException- если параметрhourвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setMinute
public abstract void setMinute(int minute)
Установить минуты.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
minute- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле minute. - Исключения:
-
IllegalArgumentException- если параметрminuteвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setSecond
public abstract void setSecond(int second)
Установить секунды.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
second- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле second. - Исключения:
-
IllegalArgumentException- если параметрsecondвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setMillisecond
public abstract void setMillisecond(int millisecond)
Установить миллисекунды.
Сбросить это поле, вызвав установщик со значением параметра DatatypeConstants.FIELD_UNDEFINED.
- Параметры:
-
millisecond- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле second. - Исключения:
-
IllegalArgumentException- если параметрmillisecondвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setFractionalSecond
public abstract void setFractionalSecond(BigDecimal fractional)
Установить дробные секунды.
Сбросить это поле, вызвав установщик со значением параметра null.
- Параметры:
-
fractional- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле second. - Исключения:
-
IllegalArgumentException- если параметрfractionalвыходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour,
int minute,
int second,
BigDecimal fractional) Установить время как один блок, включая необязательные дробные секунды с бесконечной точностью.
- Параметры:
-
hour- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле hour. -
minute- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле minute. -
second- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле second. -
fractional- значениеnullуказывает, что это необязательное поле не установлено. - Исключения:
-
IllegalArgumentException- если любой параметр выходит за рамки ограничений значений для поля, как указано в таблице сопоставления полей даты/времени.
setTime
public void setTime(int hour,
int minute,
int second,
int millisecond) Установить время как один блок, включая необязательные миллисекунды.
- Параметры:
-
hour- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле hour. -
minute- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле minute. -
second- ограничения значений, кратко описанные в таблице сопоставления полей даты/времени, поле 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.
getDay
public abstract int getDay()
Возвращает день месяца или DatatypeConstants.FIELD_UNDEFINED.
Ограничения значений для этого значения суммированы в таблице сопоставления полей даты/времени для поля день.
- См. также:
setDay(int)
getTimezone
public abstract int getTimezone()
Возвращает смещение часового пояса в минутах или DatatypeConstants.FIELD_UNDEFINED, если это необязательное поле не определено.
Ограничения значений для этого значения суммированы в таблице сопоставления полей даты/времени для поля часовой пояс.
- См. также:
setTimezone(int)
getHour
public abstract int getHour()
Возвращает часы или DatatypeConstants.FIELD_UNDEFINED. Возвращает DatatypeConstants.FIELD_UNDEFINED, если это поле не определено.
Ограничения значений для этого значения суммированы в таблице сопоставления полей даты/времени для поля час.
- См. также:
setTime(int, int, int)
getMinute
public abstract int getMinute()
Возвращает минуты или DatatypeConstants.FIELD_UNDEFINED. Возвращает DatatypeConstants.FIELD_UNDEFINED, если это поле не определено.
Ограничения значений для этого значения суммированы в таблице сопоставления полей даты/времени для поля минута.
- См. также:
setTime(int, int, int)
getSecond
public abstract int getSecond()
Возвращает секунды или DatatypeConstants.FIELD_UNDEFINED.
Возвращает DatatypeConstants.FIELD_UNDEFINED, если это поле не определено. Если это поле не определено, необязательное дробное поле секунд xs:dateTime, представленное методами getFractionalSecond() и getMillisecond(), также не должно быть определено.
Ограничения значений для этого значения суммированы в таблице сопоставления полей даты/времени для поля секунда.
- Возвращает:
- Секунды этого
XMLGregorianCalendar. - См. также:
-
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 Часть 2, Раздел 3.2.7.3, Отношение порядка для dateTime.
xsd:dateTime поле сопоставления типа данных к методам доступа этого класса определены в таблице сопоставления полей даты/времени.
- Параметры:
-
xmlGregorianCalendar- ЭкземплярXMLGregorianCalendarдля сравнения - Возвращает:
- Взаимоотношение между
thisXMLGregorianCalendarи указанным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).
- Возвращает:
-
thisXMLGregorianCalendarнормализованный до 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.
getXMLSchemaType
public abstract QName getXMLSchemaType()
Возвращает имя типа данных XML Schema date/time, к которому отображается этот экземпляр. Тип вычисляется на основе установленных полей.
| Требуемые поля для типов данных XML Schema 1.0 Date/Time. (часовой пояс является необязательным для всех типов данных 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- если комбинация установленных полей не соответствует одному из восьми встроенных типов данных date/time XML Schema.
toString
public String toString()
Возвращает строковое представление этого объекта XMLGregorianCalendar Object.
Результат является лексическим представлением, сгенерированным методом toXMLFormat().
- Переопределяет:
-
toStringв классеObject - Возвращает:
- Не-
nullкорректное строковое представление этого объектаXMLGregorianCalendar. - Выбрасывает:
-
IllegalStateException- если комбинация установленных полей не соответствует одному из восьми встроенных типов данных date/time XML Schema. - См. также:
toXMLFormat()
isValid
public abstract boolean isValid()
Проверяет экземпляр на соответствие ограничениям.
- Возвращает:
- true, если значения данных корректны.
add
public abstract void add(Duration duration)
Добавляет duration к этому экземпляру.
Вычисление определено в XML Schema 1.0 Часть 2, Приложение E, Добавление продолжительности к dateTimes. Таблица сопоставления полей date/time определяет сопоставление полей XML Schema 1.0 dateTime с представлением этих полей в этом классе.
- Параметры:
-
duration- Продолжительность, которую нужно добавить к этому экземпляруXMLGregorianCalendar. - Выбрасывает:
-
NullPointerException- приdurationпараметр имеет значениеnull.
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar()
Преобразует этот объект XMLGregorianCalendar в GregorianCalendar.
Когда у экземпляра this есть неопределенное поле, это преобразование опирается на значение по умолчанию java.util.GregorianCalendar для соответствующего поля. Отличительная особенность между типами данных date/time XML Schema 1.0 и java.util.GregorianCalendar заключается в том, что часовой пояс является необязательным для типов данных date/time и является обязательным полем для 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(). - Получите чистый календарь Григорианского стиля, вызвав
GregorianCalendar.setGregorianChange( new Date(Long.MIN_VALUE)). - Его поля ERA, YEAR, MONTH, DAY_OF_MONTH, HOUR_OF_DAY, MINUTE, SECOND и MILLISECOND устанавливаются с помощью метода
Calendar.set(int,int)
toGregorianCalendar
public abstract GregorianCalendar toGregorianCalendar(TimeZone timezone,
Locale aLocale,
XMLGregorianCalendar defaults) Преобразует этот объект XMLGregorianCalendar вместе с предоставленными параметрами в экземпляр GregorianCalendar.
Так как в типах данных date/time 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(). - Создайте новый
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)
Для обеспечения согласованности в реализации преобразований, новый GregorianCalendar должен быть создан следующим образом.
- Параметры:
-
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)
Возвращает часовой пояс для этого класса.
Если поле часового пояса определено для этого экземпляра, возвращает часовой пояс, инициализированный пользовательским идентификатором часового пояса zoneoffset. Если поле часового пояса неопределено, используется значение defaultZoneoffset. Если defaultZoneoffset равно FIELD_UNDEFINED, возвращается часовой пояс по умолчанию для этого хоста (аналогично java.util.GregorianCalendar).
- Параметры:
-
defaultZoneoffset- часовой пояс по умолчанию, если текущий часовой поясDatatypeConstants.FIELD_UNDEFINED. - Возвращает:
- Часовой пояс для этого объекта.
clone
public abstract Object clone()
Создает и возвращает копию этого объекта.
© 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.