Neo4J 持续时间内的总分钟数
Total minutes in a duration in Neo4J
我最近想知道 duration.between
和 neo4j
的分钟 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。
我最近想知道 duration.between
和 neo4j
的分钟 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。