Время в секундах в XSLT

Я не задаю вопрос на самом деле. Я подписался на stackoverflow, чтобы отдать что-то сообществу, которое много раз мне помогало.

Если вы используете XSLT 1.0, встроенных временных вычислений нет. Я придумал это, чтобы преобразовать секунды в минуты и часы. Я надеюсь, что это поможет кому-то!

<xsl:template name="format-duration">
  <xsl:param name="value" />

  <xsl:variable name="minutes" select="floor($value div 60) mod 60" />
  <xsl:variable name="seconds" select="$value mod 60" />
  <xsl:variable name="hours" select="floor($value div 3600)" />


  <xsl:if test="$hours">
    <xsl:if test="$hours &lt; 10">
      <xsl:text>0</xsl:text>
    </xsl:if>
    <xsl:value-of select="$hours" />

    <xsl:text>:</xsl:text>
  </xsl:if>


  <xsl:if test="$minutes">
    <xsl:if test="$minutes &lt; 10">
      <xsl:text>0</xsl:text>
    </xsl:if>
    <xsl:value-of select="$minutes" />
    <xsl:text></xsl:text>
  </xsl:if>

  <xsl:if test="$minutes and $seconds">
    <xsl:text>:</xsl:text>
  </xsl:if>

  <xsl:if test="$seconds">
    <xsl:value-of select="$seconds" />
    <xsl:text></xsl:text>
  </xsl:if>
</xsl:template>

РЕДАКТИРОВАТЬ: Есть ли у вас какие-либо другие методы для достижения того же?

Ответы на вопрос(2)

Ваш ответ на вопрос