如何在xslt中将日期从一种格式转换为另一种格式

时间:2014-08-28 22:06:21

标签: xml xslt

我收到的请求包含以下格式的日期:

<CreatedDate>08/24/2014 21:53:14</CreatedDate>

我需要使用xslt将值转换为YYYY-MM-DD格式。我可以通过某种命名模式识别所有“目标”节点(它们都被称为somethingDate)。是否有任何现成的语法/功能?

1 个答案:

答案 0 :(得分:1)

如果您需要为输入中的多个节点执行此操作,则最好使用命名模板(或函数,如果您使用的是XSLT 2.0),例如:

<xsl:template name="formatDate">
    <xsl:param name="mmddyyyy"/>
    <xsl:value-of select="substring($mmddyyyy, 7, 4)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring($mmddyyyy, 1, 2)"/>
    <xsl:text>-</xsl:text>
    <xsl:value-of select="substring($mmddyyyy, 4, 2)"/>
</xsl:template>