Класс 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 | Связанные методы доступа 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 июня).
Для этого класса определены следующие операции:
- методы доступа/модификаторы для отдельных полей даты/времени
- преобразование между этим классом и лексическим представлением 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 Schema 1.0 для |
abstract BigInteger | getEonAndYear() | Возвращает поле типа данных dateTime XML Schema 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 Schema, которому соответствует этот экземпляр. |
abstract int | getYear() | Возвращает младший компонент для поля типа данных dateTime XML Schema 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,
int millisecond) | Установить время как единицу, включая необязательные миллисекунды. |
void | setTime(int hour,
int minute,
int second,
BigDecimal fractional) | Установить время как единицу, включая необязательные дробные секунды с бесконечной точностью. |
abstract void | setTimezone(int offset) | Установить количество минут в смещении часового пояса. |
abstract void | setYear(int year) | Установить год XSD |
abstract void | setYear(BigInteger 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- ограничения значений, суммированные в таблице соответствия полей даты/времени (поле года). - Исключения:
-
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для сравнения - Возвращает:
- Отношение между
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 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()
Создаёт и возвращает копию этого объекта.
© 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