Xml 如何在XSLT2.0中增加日期和时间
我有一个下面的日期场景,在这个场景中,我想增加日期,但日期格式如下:2015-05-03T00:00:00Z。我只想增加一天的日期。因此,如果达到31,则应更新该月。我看到一个问题,但解决方案不适用于我的场景 XML:Xml 如何在XSLT2.0中增加日期和时间,xml,xslt,xslt-2.0,Xml,Xslt,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
<?xml version="1.0" encoding="UTF-8"?>
<rootElement>
<TestDate>2015-05-03T00:00:00Z</TestDate>
</rootElement>
<?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>
2015-05-03T00:00:00Z
XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<rootElement>
<TestDate>2015-05-03T00:00:00Z</TestDate>
</rootElement>
<?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"?>
<rootElement>
<TestDate>2015-05-03T00:00:00Z</TestDate>
</rootElement>
<?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>
2015-05-03
预期结果:
<?xml version="1.0" encoding="UTF-8"?>
<rootElement>
<TestDate>2015-05-03T00:00:00Z</TestDate>
</rootElement>
<?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>
2015-05-04T00:00:00Z
尝试使用此样式表:
<?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>
“我看到了一个存在的问题,但解决方案不适用于我的场景。”为什么不?我看不出你试图实施它。