代码之家  ›  专栏  ›  技术社区  ›  Dust_In_The_Wind

在neo4j中使用cypher将datetime转换为epoch毫秒

  •  2
  • Dust_In_The_Wind  · 技术社区  · 7 年前

    我在neo4j中使用cypher运行一个查询,其中必须比较 createdAt 针对给定时间单位(以历元毫秒为单位)的节点的属性。这个 创建日期 财产是 string DateTime 格式,定义为-

    日期时间

    精确到毫秒的日期,编码为以下格式的字符串:yyyy-mm-ddthh:mm:ss.sss+0000,其中yyyy是 一个四位数的整数,表示年,年,mm是 两位整数表示月份,dd是两位整数 代表天,hh是代表小时的两位数整数, mm是表示分钟的两位数整数,ss.sss是五位数。 数字定点实数,表示秒到秒 毫秒精度。最后,结尾的+0000表示 时区,在本例中始终是GMT。

    下面是这个属性的几个值- 2011-03-21T19:32:38.295+0000 我是说, 2012-03-09T17:59:05.367+0000 是的。

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

    当我执行一些给定的例子时,比如-

    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 回复  |  直到 7 年前
        1
  •  3
  •   cybersam    7 年前

    时间函数是在neo4j version 3.4.0中添加的,我已经验证了您的查询在该版本中工作。

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