比方说,我有十个节点,它们有一个名称和时间属性。我使用了timestamp()函数,但它返回一个值,即当前时间与1970年1月1日之间的差值(以毫秒为单位)。我想知道的是,是否有功能或可能获得当前时间。如果它在那里,我可以得到一个示例代码,说明如何将它用作节点中的属性。还告诉我是否有可能从几小时前使用时间戳功能本身更新的节点中提取数据
答案 0 :(得分: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;
2017年更新(感谢您的评论):
timestamp()
返回毫秒的值。您可以使用此方法进行减法,并计算“几小时前”的毫秒数,以查看它是否在范围内。
CREATE ({ts:timestamp});
MATCH (n)
WHERE n.ts > timestamp() - (1000*60*60*4) // 4 hours ago
RETURN n;