【发布时间】:2013-12-30 15:30:03
【问题描述】:
例如,我有十个具有名称和时间属性的节点。我使用了 timestamp() 函数,但它返回一个值,即当前时间与 1970 年 1 月 1 日之间的差异,以毫秒为单位。我想知道的是,是否有获取当前时间的功能或可能性。如果它在那里,我可以获得一个关于我们如何将它用作节点中的属性的示例代码。也请告诉我是否可以使用时间戳函数本身从几个小时前更新的节点中提取数据
【问题讨论】:
例如,我有十个具有名称和时间属性的节点。我使用了 timestamp() 函数,但它返回一个值,即当前时间与 1970 年 1 月 1 日之间的差异,以毫秒为单位。我想知道的是,是否有获取当前时间的功能或可能性。如果它在那里,我可以获得一个关于我们如何将它用作节点中的属性的示例代码。也请告诉我是否可以使用时间戳函数本身从几个小时前更新的节点中提取数据
【问题讨论】:
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 年更新(感谢 cmets):
timestamp() 返回一个毫秒值。你可以用它做减法,计算“几小时前”的毫秒数,看看它是否在范围内。
CREATE ({ts:timestamp});
MATCH (n)
WHERE n.ts > timestamp() - (1000*60*60*4) // 4 hours ago
RETURN n;
【讨论】: