我从SQL获得了一个xml。 xml有一个包含日期时间信息的节点。 xml正在使用xslt进行转换。我需要在xslt中计算过去的分钟数。
例如,在xml中我有以下节点:
2011-08-28T22:11:52.383-07:00
我需要将当前时间作为参考,并计算从xml节点中的日期开始经过的分钟数。感谢您的帮助。
由于
答案 0 :(得分:2)
此转化:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
Current time: <xsl:sequence select="current-dateTime()"/>
Elapsed minutes since: <xsl:sequence select="string(/)"/>:
<xsl:sequence select=
"(current-dateTime() - xs:dateTime(/) )
div
xs:dayTimeDuration('PT1M')
"/>
</xsl:template>
</xsl:stylesheet>
应用于此XML文档时:
<t>2011-08-28T22:11:52.383-07:00</t>
生成想要的正确结果:
Current time: 2011-08-29T21:28:27.153-07:00
Elapsed minutes since: 2011-08-28T22:11:52.383-07:00:
1396.5795
解释:经过的分钟数是按两个持续时间的划分计算得出的:
xs:dayTimeDuration
值。