2015-04-29 73 views
0

我有這種格式的日期時間:2015-04-29T01:30:27.058Z和5000毫秒的時間差。是否有任何XSLT函數可以扣除這個時間差並生成dateTime的輸出?從DateTime中扣除毫秒xslt

+0

您使用的是XSLT 2.0還是1.0?在2.0中,「timestamp」似乎是可以添加持續時間的「xs:dateTime」。 –

回答

1

在XSLT 2.0或更高(需要一個XSLT 2.0處理器等撒克遜9或XmlPrime),可以使用與算術和xs:dateTimexs:dayTimeDuration,例如

xs:dateTime('2015-04-29T01:30:27.058Z') + xs:dayTimeDuration('-PT0.058S') 

計算新xs:dateTime2015-04-29T01:30:27Z

假定用於前綴xs的XML模式名稱空間爲http://www.w3.org/2001/XMLSchema。 有關如何編寫dayTimeDuration,請參閱http://www.datypic.com/sc/xsd/t-xsd_dayTimeDuration.html

所以對於該版本的語言,我的建議是利用這兩種數據類型和提供的算術運算,而不是毫秒計算。

0

在XSLT 2.0,

(xs:dateTime($timeStamp) - xs:dateTime('2000-01-01T00:00:00Z')) 
    div xs:dayTimeDuration('PT0.001S') 

給出自本世紀開始的毫秒數。