如何使用cypher获取当前时间

Kan*_*nak 14 neo4j cypher

比方说,我有十个节点,名称和时间属性.我使用了timestamp()函数,但它返回一个值,即当前时间与1970年1月1日之间的差值(以毫秒为单位).我想知道的是,是否有功能或可能获得当前时间.如果它在那里,我可以得到一个示例代码,说明如何将它用作节点中的属性.还告诉我是否有可能从几小时前使用时间戳功能本身更新的节点中提取数据

Eve*_*man 18

更新于2018年:现在Neo4j中有日期类型.您可以使用实际日期函数,并使它们具有范围查找友好的索引支持.:)

CREATE (:Node{dt:datetime()});

CREATE INDEX ON :Node(dt);

MATCH (n:Node)
WHERE n.dt > datetime('2018-06-24T12:50:35.556+0100')
RETURN n;
Run Code Online (Sandbox Code Playgroud)

2017年更新(感谢评论): timestamp()返回毫秒值.您可以使用此方法进行减法,并计算"几小时前"的毫秒数,以查看它是否在范围内.

CREATE ({ts:timestamp});

MATCH (n)
WHERE n.ts > timestamp() - (1000*60*60*4) // 4 hours ago
RETURN n;
Run Code Online (Sandbox Code Playgroud)

  • **更新**我们现在支持数字范围索引,因此现在可以使此查询超快速。另外,请查看APOC日期/时间函数:https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_date_time_support (2认同)