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-duration
和 fn:minutes-from-duration
提取持续时间的小时和分钟部分,然后使用 fn:format-number
.
将它们格式化为数字
我真的找不到如何更改此持续时间通知
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-duration
和 fn:minutes-from-duration
提取持续时间的小时和分钟部分,然后使用 fn:format-number
.