在XSLT中,我想将XML文档转换为另一个XML文档。旧文档有一些不太容易使用的日期和时间。例如:
<foo date="20110310" time="002000" duration="001500"/>
现在我提取了所有信息,并且能够将这些信息转换为ISO 8601日期:
<xsl:variable name="begin" select='concat($begin_date_year, "-", $begin_date_month, "-", $begin_date_day, "T", $begin_time_hour, ":", $begin_time_minutes, ":", $begin_time_seconds)'/>
--> $begin = 2011-03-10T00:20:00
持续时间:
<xsl:variable name="duration" select='concat("PT", $dur_hour, ":", $dur_minutes, ":", $dur_seconds)'/>
--> $duration = PT00:15:00
如何将持续时间添加到DateTime 以查找结尾(以DateTime格式)?
我已经考虑过添加单个组件,但这会涉及大量摆弄模数,例如,如果我在23:50加15分钟然后不得不相应地调整日期等等。
答案 0 :(得分:6)
好的,现在我found a function未在我之前使用过的函数参考中列出。
add-dayTimeDuration-to-dateTime(xs:dateTime, xs:dayTimeDuration)
这也可以写成,例如:
xs:dateTime($begin) + xs:dayTimeDuration($duration)
答案 1 :(得分:0)
为了完整起见,http://www.exslt.org/date/functions/add/date.add.html
还有一个实现 上查看类似的问题