gpt4 book ai didi

Neo4J/Cypher - 计算 2 之间的持续时间(不含周末)

转载 作者:行者123 更新时间:2023-12-02 18:02:12 25 4
gpt4 key购买 nike

有没有一种方法可以使用 neo4j/cypher 来计算两个日期之间的天数差异,而不包括周末(基本上只计算工作/公司开放日)?

此查询行中的内容:

return duration.inDays(date("2022-01-01"), date("2022-01-19")).days

但没有周末。

我怎样才能实现这个目标?

最佳答案

工作日没有日期函数,但我们可以通过创建开始日期和结束日期之间的日期列表来计算它。然后使用函数 weekDay (其中 weekday:1 是星期一,5 是星期五),我们可以从列表中删除周末。然后计算该列表中的工作日数。

   WITH date("2022-01-01") AS startDate, date("2022-10-19") AS endDate
WITH startDate, duration.inDays(startDate, endDate).days AS days
WITH [day in range(0, days) | startDate + duration({days: day})] as calendarDays
WITH [c in calendarDays where c.weekDay < 6 | c] as workingDays
RETURN size(workingDays) as workingDays


╒═════════════╕
│"workingDays"│
╞═════════════╡
│208 │
└─────────────┘

关于Neo4J/Cypher - 计算 2 之间的持续时间(不含周末),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74127606/

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