この時間形式を XSLT 1.0 で hh:mm:ss にする方法を教えてください。
例 1: PT1H55M0.000S ---> 01:55:00
例 2 : PT12H0M0 ---> 12:00:00
この時間形式を XSLT 1.0 で hh:mm:ss にする方法を教えてください。
例 1: PT1H55M0.000S ---> 01:55:00
例 2 : PT12H0M0 ---> 12:00:00
与えられた:
<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 の 3 つの文字がすべて含まれていることを前提としています。それ以外の場合は、はるかに複雑です。