2013-06-04 3 views
0

Я использую Talend Open Studio для извлечения информации из базы данных в файл XML, а затем с помощью XSLT.DateTimeFormat с часовым поясом и без двоеточия

Есть поле даты, которое входит в XML как: 2013-02-13T16:49:51.733+0230, когда я поставлю шаблон даты: "yyyy-MM-dd'T'HH:mm:ss.SSSZ".

Я считаю, что SimpleDateFormat имеет это ограничение неспособности иметь дело с двоеточием.

Мне нужна двоеточие между значением часового пояса: +02:30. Как я могу это достичь? Есть ли другой шаблон String, который я могу использовать? Если нет, могу ли я сделать это в своем XSL Transform?

ответ

0

Функция format-dateTime() ищет формат current-dateTime(), который требует двоеточия между часовым поясом HH: MM, в вашем случае он отсутствует (0230). Вы должны использовать другой метод поставить двоеточие между ними:

let $x:= "2013-02-13T16:49:51.733+0230" 
return concat(substring-before($x,'+'),'+',substring(substring-after($x,'+'),1,2),':',substring(substring-after($x,'+'),3,2)) 

выход:

2013-02-13T16:49:51.733+02:30