我有一个日期格式模板,我将日期值传递给YYYYMMDD格式
模板如下:
<xsl:template name="formatDate">
<xsl:param name="date" />
<xsl:variable name="year" select="substring($date, 1, 4)" />
<xsl:variable name="month" select="substring($date, 5, 2)" />
<xsl:variable name="day" select="substring($date, 7, 2)" />
<xsl:value-of select="concat($month, '/', $day, '/', $year)" />
</xsl:template>
这将返回字符串20131004为10/04/2013,这是正确的。
我需要做的是,如果$ month有一个前导零,则删除它。例如,20130930将是2013年9月30日,当时我更喜欢9/30/2013。
最有效的方法是什么?我可以在设置变量的值之前做一个选择/什么时候,但是我正在尝试以正确的方式使用xslt(我仍然试图进入它,它正在进行)。
由于
答案 0 :(得分:2)
您可以使用number()函数
<xsl:variable name="month" select="number(substring($date, 5, 2))" />
<xsl:variable name="day" select="number(substring($date, 7, 2))" />
它应该删除前导零。