如何将时间格式PT1H55M0.000S或PT12H0M0.000S转换为hh:mm:ss in xslt 1.0

时间:2014-08-05 09:22:20

标签: xslt-1.0 time-format

任何人都可以帮助我如何在XSLT 1.0中将这段时间格式化为hh:mm:ss?

实施例1:PT1H55M0.000S ---> 1时55分00秒

实施例2:PT12H0M0 ---> 12:00:00

1 个答案:

答案 0 :(得分:1)

假设:

<xsl:variable name="input" select="'PT1H55M0.000S'" />

以下内容:

<output> 
    <xsl:value-of select="format-number(substring-before(substring-after($input, 'T'), 'H'), '00')"/>   
    <xsl:value-of select="format-number(substring-before(substring-after($input, 'H'), 'M'), ':00')"/>      
    <xsl:value-of select="format-number(substring-before(substring-after($input, 'M'), 'S'), ':00')"/>

</output> 

将导致:

<output>01:55:00</output>

注意:
这假定输入包含所有三个字符:H,M和S;否则它太多更复杂。