xsl 2.0 - 如何将持续时间通知 `PT11H22M` 更改为 11.22

xsl 2.0 - how to change duration notification `PT11H22M` to 11.22

我真的找不到如何更改此持续时间通知

PT11H22M 到 11.22

但这似乎是简单的命令

假设您的值 "PT11H22M" 是一个字符串:

<xsl:variable name="s" as="xs:string" select="'PT11H22M'"/>

假设您的持续时间始终少于 24 小时,您可以使用

将字符串 "PT11H22M" 转换为持续时间
<xsl:variable name="d" as="xs"dayTimeDuration" 
              select="xs:dayTimeDuration($s)"/>

然后您可以使用

将其转换为一天中的时间
<xsl:variable name="t" as="xs:time" select="xs:time('00:00:00') + $d"/>

然后您可以使用

将其格式化为字符串“11.22”
<xsl:variable name="out" as="xs:string" 
              select="format-time($t, '[H01].[m01]')"/>

或者,您可以使用 fn:hours-from-durationfn:minutes-from-duration 提取持续时间的小时和分钟部分,然后使用 fn:format-number.

将它们格式化为数字