XQuery:计算两天的差异

时间:2019-05-23 15:05:09

标签: xquery

我一直在寻找一种方法来计算2个xs:date对象之间的持续时间。 我发现使用here enter image description here的div方法可以正常工作 我对该解决方案不满意。也许有更好的方法来做...

let $today := current-date()
let $date:= xs:date("2019-05-20")
(: will return 3 :)
return ((xs:dayTimeDuration($today - $date) div xs:dayTimeDuration("PT1M")) div 60) div 24 

基本上,我得到经过的分钟数,然后从差异中计算小时数,这将用于计算经过的天数。

1 个答案:

答案 0 :(得分:3)

要计算以天为单位的差额,只需计算两个xs:date之间的差额,然后可以将结果除以一天的持续时间:

let $today := current-date()
let $date:= xs:date("2019-05-20")
return ($today - $date) div xs:dayTimeDuration("P1D")

https://xqueryfiddle.liberty-development.net/pPgCcoA