【发布时间】:2018-03-11 18:14:34
【问题描述】:
我有两个不同的时间戳(以毫秒为单位)。对于这两个时间戳,我想知道它们之间的持续时间。持续时间是正确计算的,但我想格式化这个持续时间,然后 Eclipse 给我这个错误:
变量 $duration 的值的必需项类型是 xs:string 提供的值具有项目类型 xs:dayTimeDuration
<xsl:variable name="start" select='xs:dateTime("1970-01-01T00:00:00") + 1512037112064 * xs:dayTimeDuration("PT0.001S")'/>
<xsl:variable name="end" select='xs:dateTime("1970-01-01T00:00:00") + 1512059856670 * xs:dayTimeDuration("PT0.001S")'/>
<xsl:value-of select="xs:dateTime($end)-xs:dateTime($start)" />
没有任何形式的输出
PT6H19M4.606S
想要的格式化输出
6:19:4.606
【问题讨论】:
-
translate(string(xs:dateTime($end)-xs:dateTime($start)), 'HMPTS', '::')够用吗? -
两种解决方案都对我有用。
-
您的问题没有名为 $duration 的变量。此外,似乎有两个单独的问题(a)输出不是所需的格式,(b)类型错误。我很困惑。