从年月日到MM / DD / YYYY转换日期格式XSLT(Convert date format

2019-09-28 15:26发布

我有在格式的XML文件的日期一样

YYYYMMDD

应用XSLT转换我想改变的格式

MM / DD / YYYY

例如,传入的格式 - 20160513输出格式 - 2016年5月13日

Answer 1:

鉴于:

<date>20160513</date>

下列:

<xsl:template match="date">
    <xsl:copy>
        <xsl:value-of select="substring(., 5, 2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring(., 7, 2)"/>
        <xsl:text>/</xsl:text>
        <xsl:value-of select="substring(., 1, 4)"/>
    </xsl:copy>
</xsl:template>

将返回:

<date>05/13/2016</date>


Answer 2:

XSLT 2.0选项...

<xsl:template match="date[matches(normalize-space(),'^\d{8}$')]">
  <xsl:copy>
    <xsl:value-of select="replace(normalize-space(),
      '(\d{4})(\d{2})(\d{2})',
      '$2/$3/$1')"/>
  </xsl:copy>
</xsl:template>


文章来源: Convert date format in xslt from YYYYMMDD to MM/DD/YYYY