持续时间在 OSB xquery 中给出 3 小时,但我需要持续时间 03 小时

Duration in time is giving in OSB xquery 3 hour but i need Duration 03 hour

下面的 XQuery 代码 returns:

Duration=3 hour

但我预计:

Duration=03 hour

我做错了什么?

{
    let $hour := hours-from-duration(op:subtract-times(xs:time(fn:substring-after('2015-07-31T10:25:00','T')),xs:time(fn:substring-after('2015-07-31T07:15:00','T'))))            
    return
    <FlightDuration> {($hour)}</FlightDuration>
}

根据您的示例,我猜测您使用的是 OSB 11 或更早的版本。您可以尝试使用 fn-bea:format-number。另外,我会避免直接在 op:* 下使用任何东西。

let $dt1 := xs:dateTime('2015-07-31T10:25:00')
let $dt2 := xs:dateTime('2015-07-31T07:15:00')
let $t1 := xs:time($dt1)
let $t2 := xs:time($dt2)
let $diff := $t1 - $t2
let $hour := hours-from-duration($diff)
return
   <FlightDuration>{fn-bea:format-number($hour, "00")}</FlightDuration>

计算结果为:

<FlightDuration>03</FlightDuration>