XSL转换号码(20170125102857)为DD-MM-YYY

时间:2017-01-26 09:53:45

标签: date xslt numbers xslt-1.0

目前我有以下号码20170125102857,代表YYYYMMDDHHMMSS(年,月,日,小时,分钟,秒)。如何使用XSLT 1.0将此数字转换为DD-MM-YYYY(日 - 月 - 年)?

例如:

  

20170125102857应成为25-01-2017

是的,它必须在XSL中。

1 个答案:

答案 0 :(得分:1)

如果您确定输入格式不会改变,您只需使用substring()功能,如下所示

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:variable name="var.myDateToConvert_" select="'20170125102857'"/>
  <xsl:variable name="var.year_" select="substring($var.myDateToConvert_,1,4)"/>
  <xsl:variable name="var.month_" select="substring($var.myDateToConvert_,5,2)"/>
  <xsl:variable name="var.day_" select="substring($var.myDateToConvert_,7,2)"/>

  <xsl:template match="/">
    <xsl:value-of select="concat($var.day_,'-',$var.month_,'-',$var.year_)"/>
  </xsl:template>

</xsl:stylesheet>

上述公式的结果将生成日期格式DD-MM-YYYY 这是在XSLT 1.0中执行所需操作的简单而轻松的方法。