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

smr*_*mr5 1 xml xslt

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

266

我想显示266秒

0时04分26秒

这就是我在XSLT中的做法:

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

但是,我的输出是

00:00:04

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

mic*_*57k 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')"/>
Run Code Online (Sandbox Code Playgroud)