在XSLT v 1.0中将秒转换为hh:mm:ss

时间:2014-06-10 00:39:13

标签: xml xslt

我有一个列,它返回总秒数。例如

  

266

我想显示266秒

  

0时04分26秒

这就是我在XSLT中的表现:

<xsl:value-of select="format-number(/CAudioFile/CRI/Duration div 60 mod 60, '00:00:00')"/>

但是,我的输出是

  

0时00分04秒

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:8)

您的数学错误且'00:00:00'不是有效的格式字符串。试试这种方式:

<xsl:variable name="seconds" select="CAudioFile/CRI/Duration" />

<xsl:value-of select="format-number(floor($seconds div 3600), '00')" />
<xsl:value-of select="format-number(floor($seconds div 60) mod 60, ':00')"/>
<xsl:value-of select="format-number($seconds mod 60, ':00')"/>