在Neo4J中使用Cypher将DateTime转换为纪元毫秒

时间:2018-07-04 08:09:57

标签: date datetime neo4j cypher

我正在Neo4J中使用Cypher运行查询,在该查询中,我必须将节点的createdAt属性与给定时间单位(以纪元为单位)进行比较。此createdAt属性是string格式的DateTime,定义为-

  

DateTime

     

日期以毫秒为单位,以以下格式编码为字符串:yyyy-mm-ddTHH:MM:ss.sss + 0000,其中yyyy为   代表年份的四位数整数,年份,mm是   代表月份的两位整数,而dd是两位整数   代表日期,HH是代表小时的两位整数,   MM是两位数字整数,代表分钟,而ss.sss是5   数字定点实数,表示直至秒   毫秒精度。最后,末尾的+0000代表   时区,在这种情况下始终为格林尼治标准时间。

以下是此属性的几个值-2011-03-21T19:32:38.295+00002012-03-09T17:59:05.367+0000

我在Neo4j上遇到了Temporal Values documentation,但是找不到执行转换的方法。

当我执行一些给定的示例时,像这样-

  

RETURN datetime('2015-06-24T12:50:35.556+0100') AS theDateTime

我得到了错误-

Neo.ClientError.Statement.SyntaxError: Unknown function 'datetime' (line 1, column 16 (offset: 15))

不胜感激!

1 个答案:

答案 0 :(得分:2)

在neo4j 3.4.0版中添加了时态函数,并且我已经验证您的查询在该版本中可以使用。

确保您使用的是Neo4j的最新版本。