2013-06-04 43 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之間。我怎樣才能做到這一點?是否有可以使用的另一種模式字符串?如果沒有,我可以在我的XSL轉換中完成嗎?

回答

0

函數format-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