繁体   English   中英

如何在XSLT 2.0中增加日期和时间

[英]How to increment date and time in XSLT 2.0

我有以下日期方案,在该方案中,我想增加日期,但是日期格式如下: 2015-05-03T00:00:00Z 我只想增加一天的日期。 因此,如果达到31,则应该更新月份。 我看到了一个现有问题,但解决方案不适用于我的方案。

XML:

<?xml version="1.0" encoding="UTF-8"?>
<rootElement>

    <TestDate>2015-05-03T00:00:00Z</TestDate>
</rootElement>

XSLT:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"   version="2.0">


    <xsl:template match="rootElement">
      <TransformDate>
          <xsl:value-of select="substring(TestDate,1,10)" />
      </TransformDate>
    </xsl:template>
</xsl:transform>

结果:

    <?xml version="1.0" encoding="UTF-8"?>
<TransformDate>2015-05-03</TransformDate>

预期结果:

<?xml version="1.0" encoding="UTF-8"?>
<TransformDate>2015-05-04T00:00:00Z</TransformDate>

尝试使用此样式表:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xsl:strip-space elements="*"/>
    <xsl:output indent="yes" omit-xml-declaration="yes"/>

    <xsl:template match="rootElement">
        <xsl:element name="TransformDate">
            <xsl:value-of select="xs:dateTime(TestDate) + xs:dayTimeDuration('P1D')"/>
        </xsl:element>
    </xsl:template>

</xsl:stylesheet>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM