Neo4J 持续时间内的总分钟数

Total minutes in a duration in Neo4J

我最近想知道 duration.betweenneo4j 的分钟 and/or 小时的区别。

MATCH (yv:YoutubeVideo)
WHERE datetime(yv.publishedAt) >= datetime('2021-11-16T12:05:47.897962')
WITH yv, duration.between(datetime('2021-11-16T12:05:47.897962'), yv.publishedAt).minutes as minutes,
yv.publishedAt as expectedDate,
datetime('2021-11-16T12:05:47.897962') as startDate
RETURN duration.between(datetime('2021-11-16T12:05:47.897962'), yv.publishedAt) as duration, startDate,
expectedDate + duration({minutes:minutes}) as expectedRes,
startDate + duration({minutes:minutes})as  resultDate
LIMIT 1

这给出了结果:

这似乎没问题,但事实并非如此。 如您所见,我想将 duration 的分钟添加到 startDate 以获得 expectedRes。我意识到 duration.between(datetime('2021-11-16T12:05:47.897962'), yv.publishedAt).minutes returns 只有小时中的分钟数,不包括天数。结果是 resultDate.

一个更好的例子: 假设 duration 是 3 天 4 小时 en 20 分钟。如果我这样做 .minutes,我将收到 260 分钟的结果(这是一小时内的小时数 * 分钟数 + 剩余分钟数的结果,在本例中为 4 * 60 + 20),但我希望结果是4580(这是(天 * 小时 + 剩余小时数)* 一小时内的分钟数 + 剩余分钟数的结果,在本例中为 (3 * 24 + 4) * 60 + 20 )

有没有一种方法可以在不在我的 Cypher 查询中执行该等式的情况下获得 duration 的总分钟数(包括天数)?

看看apoc temporal or apoc dates