如何在 XSLT 2.0 中减去 1 天(计算前一天)?
How to subtract 1 day (calculate day before) in XSLT 2.0?
有人可以使用 XSLT 2.0 帮助从给定类型 xsd:dateTime
的日期计算一天前吗?
示例输入:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<LastRunTime__c>
<Last_Run_Time__c>2015-01-29T19:55:15.846Z</Last_Run_Time__c>
</LastRunTime__c>
</objects>
示例输出:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<LastRunTime__c>
<Last_Run_Time__c>2015-01-28T19:55:15.846Z</Last_Run_Time__c>
</LastRunTime__c>
</objects>
我尝试了一些东西,但没能得到我想要的东西:
<xsl:template match="/">
<xsl:variable name="vToday" select="/*:objects/*:LastRunTime__c/*:Last_Run_Time__c"/>
Today is: <xsl:sequence select="$vToday"/>
1 day ago it was: <xsl:sequence select="$vToday -1*xs:dayTimeDuration('P1D')"/>
</xsl:template>
</xsl:stylesheet>
鉴于您的输入 XML,此 XSLT 转换:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="vToday" select="/objects/LastRunTime__c/Last_Run_Time__c"
as="xsd:dateTime"/>
Today is: <xsl:value-of select="$vToday"/>
1 day ago it was: <xsl:value-of select="$vToday - xsd:dayTimeDuration('P1D')"/>
</xsl:template>
</xsl:stylesheet>
将产生所需的输出:
Today is: 2015-01-29T19:55:15.846Z
1 day ago it was: 2015-01-28T19:55:15.846Z
有人可以使用 XSLT 2.0 帮助从给定类型 xsd:dateTime
的日期计算一天前吗?
示例输入:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<LastRunTime__c>
<Last_Run_Time__c>2015-01-29T19:55:15.846Z</Last_Run_Time__c>
</LastRunTime__c>
</objects>
示例输出:
<?xml version="1.0" encoding="UTF-8"?>
<objects>
<LastRunTime__c>
<Last_Run_Time__c>2015-01-28T19:55:15.846Z</Last_Run_Time__c>
</LastRunTime__c>
</objects>
我尝试了一些东西,但没能得到我想要的东西:
<xsl:template match="/">
<xsl:variable name="vToday" select="/*:objects/*:LastRunTime__c/*:Last_Run_Time__c"/>
Today is: <xsl:sequence select="$vToday"/>
1 day ago it was: <xsl:sequence select="$vToday -1*xs:dayTimeDuration('P1D')"/>
</xsl:template>
</xsl:stylesheet>
鉴于您的输入 XML,此 XSLT 转换:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="vToday" select="/objects/LastRunTime__c/Last_Run_Time__c"
as="xsd:dateTime"/>
Today is: <xsl:value-of select="$vToday"/>
1 day ago it was: <xsl:value-of select="$vToday - xsd:dayTimeDuration('P1D')"/>
</xsl:template>
</xsl:stylesheet>
将产生所需的输出:
Today is: 2015-01-29T19:55:15.846Z
1 day ago it was: 2015-01-28T19:55:15.846Z