gpt4 book ai didi

xpath - Xpath/xQuery的月份差异

转载 作者:行者123 更新时间:2023-12-03 17:32:58 30 4
gpt4 key购买 nike

我正在尝试获取xPath几个月内两个日期之间的差异。

几天之内我就没问题了(1127)

days-from-duration(xs:date('2012-06-17')-xs:date('2009-05-17'))  


当我尝试在几个月内做到这一点时,我得到0

 months-from-duration(xs:date('2012-06-17')-xs:date('2009-05-17')) 


我确实注意到这只是几天而已(“ P1126D”),因此问题可能就是不确定如何解决。

 xs:date('2012-06-17')-xs:date('2009-05-17')


谢谢你的帮助!

因此,我似乎可以做的最好的事情就是手动计算它。

(year-from-date(xs:date('2012-06-17')) - year-from-date(xs:date('2012-05-18')))*12 + month-from-date(xs:date('2012-06-17')) -month-from-date(xs:date('2012-05-18')) + (if (day-from-date(xs:date('2012-06-17'))  < day-from-date(xs:date('2012-05-18')) ) then -1 else 0)

最佳答案

问题是days-from-duration返回days字段-而不是持续时间包括的天数。同样的几个月和几年。

现在,您可以按天划分,但不能按月划分(因为月份边界不均匀):

(: arg1 here is a dayTimeDuration, which can't be easily converted to a yearMonthDuration :)
let $arg1 := xs:date('2012-06-17')-xs:date('2009-05-17')
return xs:dayTimeDuration($arg1) div xs:dayTimeDuration("P30D")

关于xpath - Xpath/xQuery的月份差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31481795/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com