在Xpath中,如何检查2 dateTimes中的时差

时间:2018-08-28 13:03:37

标签: xml xpath xpath-2.0

假设我在XML中有2个dateTime元素:

<effectivedate>2018-08-28 15:45:00</effectivedate>
<startdate>2018-08-28 15:44:00</startdate>

我可以减去2得到这样的差值:

xs:dateTime(replace(//effectivedate," ","T")) - xs:dateTime(replace(//startdate," ","T"))

,但这将返回PT1M。我该如何检查时差是否小于5分钟?

1 个答案:

答案 0 :(得分:0)

有两种方法。通过将持续时间除以恒定的持续时间,然后将持续时间与数字进行比较,即可将持续时间转换为数字(例如分钟):

$duration div xs:dayTimeDuration('PT1M') lt 5

或直接减去两个持续时间:

$duration lt xs:dayTimeDuration('PT5M')