我想将日期的XML数据转换为YYYY-MM-DD
格式。这是我写的代码
<xsl:variable name="Formatted_Date" select="format-date(wd:continuous_service_date,'[Y0001]-[M01]-[D01]')"/>
<xsl:value-of select="substring($Formatted_Date,1,10)"/>`
但是它的输出仍然是MM/DD/YYYY
。
如何在XSLT中做到这一点?
答案 0 :(得分:0)
不幸的是,您不能为此使用format-date(...)
函数,因为它是XSLT-2.0函数。 XSLT-1.0中有一些处理此问题的方法,但是每种方法都有其特定之处。
例如,有
和其他一些。
对于您的特定情况,以下XSLT代码段可以满足您的需求:
<xsl:variable name="oldDateFormat" select="wd:continuous_service_date" />
<xsl:variable name="year" select="substring-after(substring-after($oldDateFormat,'/'),'/')" />
<xsl:variable name="month" select="substring-before($oldDateFormat,'/')" />
<xsl:variable name="day" select="substring-before(substring-after($oldDateFormat,'/'),'/')" />
<xsl:value-of select="concat($year,'-',$month,'-',$day)"/>
其输出为
2005-10-14