Преобразовать «2020-09-14T14:04:43.123 0000» в Datetime в формате «ГГГГ-ММ-ДД ЧЧ24: MI: SS» и добавить минуты в XQuery

#datetime #xquery

#дата-время #xquery

Вопрос:

Как преобразовать «2020-09-14T14:04:43.123 0000» в Datetime «ГГГГ-ММ-ДД ЧЧ24: MI: SS» и добавить минуты в XQuery.

Комментарии:

1. Почему YYYY-MM-DD это Datetime? Я не вижу там никакого времени.

2. обновлено «ГГГГ-ММ-ДД ЧЧ24: MI: SS» спасибо

3. Это может быть немного сложнее, часть 2020-09-14T14:04:43.123 подходит для xs:dateTime конструктора, но суффикс часового пояса 0000 находится в неправильном формате для этого конструктора. Добавить минуты к xs:dateTime можно решить, добавив xs:dayTimeDuration . Форматирование xs:dateTime выполняется с помощью format-dateTime .

Ответ №1:

Чтобы преобразовать используемый формат DateTime в тот, который ожидают xs:dateTime функции конструктора, вы могли бы вставить двоеточие:

 xs:dateTime("2020-09-14T14:04:43.123 0000" => replace('([0-9)][0-9])([0-9][0-9])$', '$1:$2'))
  

Чтобы добавить несколько минут, добавьте xs:dayTimeDuration с правильным M компонентом (минуты), например

 xs:dateTime("2020-09-14T14:04:43.123 0000" => replace('([0-9)][0-9])([0-9][0-9])$', '$1:$2'))   xs:dayTimeDuration('PT12M')
  

Для форматирования создайте правильную строку изображения для format-dateTime , например:

 format-dateTime(xs:dateTime("2020-09-14T14:04:43.123 0000" => replace('([0-9)][0-9])([0-9][0-9])$', '$1:$2'))   xs:dayTimeDuration('PT12M'), '[Y0001]-[M01]-[D01] [H01]24:[m01]:[s01]')