【发布时间】:2017-01-17 12:36:17
【问题描述】:
是否可以在 Neo4j 中操作日期?例如,如果今天的日期是 2017 年 1 月 1 日,我可以从当前日期减去 5 天并得到 2016 年 12 月 28 日
【问题讨论】:
-
更改您的系统日期 ;)
-
正确答案其实是
12/27/2016。
标签: date neo4j cypher subtraction date-difference
是否可以在 Neo4j 中操作日期?例如,如果今天的日期是 2017 年 1 月 1 日,我可以从当前日期减去 5 天并得到 2016 年 12 月 28 日
【问题讨论】:
12/27/2016。
标签: date neo4j cypher subtraction date-difference
您可以使用APOC date/time support functions。
例如:
WITH apoc.date.parse('1/1/2017', 's', 'MM/dd/yyyy') AS startTime
RETURN apoc.date.format(startTime - 5*(60*60*24), 's', 'MM/dd/yyyy');
以上查询返回:
12/27/2016
[更新]
感谢@InverseFalcon 的精彩评论,这是一种更简洁且可能更可靠的方法。它使用天的分辨率(而不是秒,如上所述)解析和格式化日期,因此无需将秒转换为天(由于闰年和天等原因,这通常也容易出错光节约时间调整)。
WITH apoc.date.parse('1/1/2017', 'd', 'MM/dd/yyyy') AS startDate
RETURN apoc.date.format(startDate - 5, 'd', 'MM/dd/yyyy');
【讨论】: