在Neo4j中转换EPOCH日期

时间:2017-07-21 05:42:15

标签: neo4j

目前,我们从消息队列获取数据流,其中包含多个信息。其中一个是以纪元格式创建和更新某个事件的时间戳。

{"ip":"1.1.1.1","name":"abc.com","createtime":1500389719832,"updatetime":1500613413164 },{"ip":"1.1.1.2","name":"xyz.com","createtime":1500389719821,"updatetime":1500613413233} 

目前,我的代码将使用队列中的消息并将所有数据作为批量推送到Neo4j。会有1000个像这样的行。此数据中的每个字段都作为单独的属性键存储在neo4j中。当用户从UI中选择日期时,我的目的是从该特定日期获取所有“名称”值,并仅显示UI中的那些记录。由于用户会选择MM / DD / YYYY格式的日期,最好的选择是仅将用户选择的日期与纪元格式的“创建时间”进行比较?我的想法是将“创建时间”转换为MM / DD / YYYY可读格式并仅将日期部分存储为单独的neo4j属性newCreateTime,但我不确定如何仅从整个数据流转换createtime和updatetime。有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:4)

您可以使用APOC功能apoc.date.format设置newCreateTime属性。

例如(假设您的数据存储在具有Info标签的节点中):

MATCH (i:Info)
SET i.newCreateTime = apoc.date.format(i.createTime, 'ms', 'MM/dd/yyyy');