如何更改XML中的日期格式

时间:2018-05-02 14:32:42

标签: xml xslt

我需要将日期格式从2018-03-23更改为DD-MM-YYYY。

这是我的输入XML文件:

<ClientList>
   <Client>
     <CreateDate>2018-03-23</CreateDate>
   </Client>
</ClientList>

这是我的XSL文件,它只是在输入XML中显示日期。

<ClientList>
  <Client>
    <Data>
    <xsl:value-of select="CreateDate"/>
    </Data>
  </Client>
</ClientList>

如何将日期格式更改为DD-MM-YYYY(23-03-2018)?

2 个答案:

答案 0 :(得分:4)

如果您使用的是XSLT 2.0,则可以执行此操作

<xsl:value-of select="format-date(CreateDate, '[D01]-[M01]-[Y0001]')"/>

如果您只使用XSLT 1.0,请执行此操作

<xsl:value-of select="concat(substring(CreateDate, 9, 2), '-', substring(CreateDate, 6, 2), '-', substring(CreateDate, 1, 4))"/>

答案 1 :(得分:0)

 <xsl:template match="ClientList">
        <xsl:element name="ClientList">
            <xsl:for-each select="Client">
            <xsl:element name="Client">
                <xsl:element name="CreateDate">
                    <xsl:value-of select="format-date(CreateDate,'[D01]-[M01]-[Y0001]')"/>
                </xsl:element>
            </xsl:element>
            </xsl:for-each>
        </xsl:element>
    </xsl:template>