Neo4j-在查询中将时间字符串转换为整数

Neo4j- convert Time String into Integer in query

如何在 Neo4j 中将字符串时间转换为整数。我已经尝试了很长时间,但似乎没有任何明确的解决方案。我发现唯一的解决方案是在从 CSV 加载节点时向我的节点添加一个新的 属性。我不想这样做。

我有以下格式的时间:

"18:11:00"

我想对它们做一些减法。

我尝试执行以下操作但无济于事:

match (st1:Stoptime)-[r:PRECEDES]->(st2:Stoptime)  
return st1.arrival_time, toInt(st1.arrival_time)
limit 10

但我得到以下输出:

"18:11:00"  null

您可以安装 APOC procedures 并使用函数 apoc.date.parse:

return apoc.date.parse('18:11:00','s','HH:mm:ss')

运行 这个例子的输出是:

╒════════════════════════════════════════════╕
│"apoc.date.parse("18:11:00",'s','HH:mm:ss')"│
╞════════════════════════════════════════════╡
│65460                                       │
└────────────────────────────────────────────┘

第一个参数是要解析的date/time。第二个参数是目标时间单位。在本例中,我指定了秒数 (s)。第三个参数表示第一个参数的date/time格式。

注意:记得根据你使用的Neo4j版本安装APOC程序。看看 version compatibility matrix.