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

时间:2018-01-30 09:11:14

标签: neo4j cypher date-conversion

如何在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

1 个答案:

答案 0 :(得分:3)

您可以安装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                                       │
└────────────────────────────────────────────┘

第一个参数是要解析的日期/时间。第二个参数是目标时间单位。在这种情况下,我指定了秒(s)。第三个参数表示第一个参数的日期/时间格式。

注意:请记住根据您使用的Neo4j版本安装APOC程序。请查看version compatibility matrix