如何日期从一种格式转换为另一种在XSLT

问题描述:

我收到的请求中包含以下格式的日期:如何日期从一种格式转换为另一种在XSLT

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

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

+1

假设你正在使用XSLT 1.0,你可用的功能是有限的。你仅限于substring()和substring-before()之类的函数。 – terrywb 2014-08-28 22:11:12

如果您需要在您输入几个节点做到这一点,你最好使用命名模板(或功能,如果你使用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>