Типы данных для даты и времени

Типы данных для представления даты и времени используются для значений, которые содержат, как понятно из названия, дату и время.

Данные даты (date)

Дата при использовании типа date определяется в формате "ГГГГ-ММ-ДД", где:

  • ГГГГ - год
  • ММ — месяц
  • ДД - день

Примечание: Все компоненты обязательны!

В XML схеме декларация данных, представляющих дату, выглядит следующим образом:


<xs:element name="start" type="xs:date"/>

В XML документе такой элемент должен выглядеть так:


<start>2002-09-24</start>

Временные зоны
Чтобы определить временную зону, можно либо указать дату с добавлением после нее литеры "Z", что укажет на поправку зоны UTC:


<start>2002-09-24Z</start>

либо после даты указать смещение времени от зоны UTC в виде отрицательного или положительного числа:


<start>2002-09-24-06:00</start>

или


<start>2002-09-24+06:00</start>

Данные времени (time)

Время определяется в формате "чч:мм:сс", где:

  • чч - часы
  • мм - минуты
  • сс - секунды

Примечание: Все компоненты обязательны!

В XML схеме декларация данных, представляющих время, выглядит следующим образом:


<xs:element name="start" type="xs:time"/>

В XML документе такой элемент должен выглядеть так:


<start>09:00:00</start>

Или так:


<start>09:30:10.5</start>

Временные зоны
Чтобы определить временную зону, можно либо указать время с добавлением после него литеры "Z", что укажет на поправку зоны UTC:


<start>09:30:10Z</start>

либо после времени указать смещение от зоны UTC в виде отрицательного или положительного числа:


<start>09:30:10-06:00</start>

или


<start>09:30:10+06:00</start>

Тип данных dateTime

Тип данных dateTime используется для определения даты и времени.

Значения типа dateTime имеют формат "ГГГГ-ММ-ДДTчч:мм:сс", где:

  • ГГГГ - год
  • ММ - месяц
  • ДД - день
  • T — указывает на начало данных времени
  • чч - час
  • мм - минуты
  • сс - секунды

Примечание: Все компоненты обязательны!

В XML схеме декларация данных типа dateTime выглядит следующим образом:


<xs:element name="startdate" type="xs:dateTime"/>

В XML документе такой элемент должен выглядеть так:


<startdate>2002-05-30T09:00:00</startdate>

Или так:


<startdate>2002-05-30T09:30:10.5</startdate>

Временные зоны
Чтобы определить временную зону, можно либо указать данные dateTime с добавлением после них литеры "Z", что укажет на поправку зоны UTC:


<startdate>2002-05-30T09:30:10Z</startdate>

либо после времени указать смещение от зоны UTC в виде отрицательного или положительного числа:


<startdate>2002-05-30T09:30:10-06:00</startdate>

или


<startdate>2002-05-30T09:30:10+06:00</startdate>

Данные о продолжительности

Типы данных о продолжительности используются для определения интервалов времени.

Интервал времени определяется в формате "PnYnMnDTnHnMnS", где:

  • P указывает период (обязателен)
  • nY указывает число лет
  • nM указывает число месяцев
  • nD указывает число дней
  • T указывает на начало раздела с временем (обязателен, если будут определяться часы, минуты или секунды)
  • nH указывает количество часов
  • nM указывает количество минут
  • nS указывает количество секунд

В XML схеме декларация интервала времени выглядит следующим образом:


<xs:element name="period" type="xs:duration"/>

В XML документе такой элемент должен выглядеть так:


<period>P5Y</period>

В приведенном выше примере указан период в пять лет.

Или элемент должен выглядеть так:


<period>P5Y2M10D</period>

В этом примере указан период в пять лет, два месяца и 10 дней.

Или элемент должен выглядеть так:


<period>P5Y2M10DT15H</period>

В этом примере указан период в 5 лет, 2 месяца, 10 дней и 15 часов.

Или элемент должен выглядеть так:


<period>PT15H</period>

Здесь указан период в 15 часов.

Отрицательная продолжительность
Чтобы определить отрицательный период времени, необходимо перед P поставить знак минуса:


<period>-P10D</period>

В этом примере указан период в минус 10 дней.

Типы данных, определяющие дату и время

ИмяОписание
dateОпределяет дату
dateTimeОпределяет дату и время
durationОпределяет интервал времени
gDayОпределяет часть даты - день (ДД)
gMonthОпределяет часть даты - месяц (MM)
gMonthDayОпределяет часть даты — месяц и день (MM-ДД)
gYearОпределяет часть даты - год (ГГГГ)
gYearMonthОпределяет часть даты — год и месяц (ГГГГ-MM)
timeОпределяет время

Ограничения по данным даты и времени

С данными даты и времени могут использоваться следующие ограничители:

  • enumeration
  • maxExclusive
  • maxInclusive
  • minExclusive
  • minInclusive
  • pattern
  • whiteSpace