首页 > 解决方案 > Neo4j 日期转换和比较?

问题描述

我正在使用 MS access 数据库。我的日期时间现在就像“05-03-2016 14:55:20”。我需要将其转换为 neo4j.1 中的日期时间格式。怎么做?2.转换后我需要使用日期过滤器,即我想查找在两个日期之间创建的所有节点。怎么做?

标签: ms-accessneo4j

解决方案


  1. 您可以使用 APOC 函数apoc.date.parse()将您的 MS Access 日期时间字符串转换为 UNIX 纪元的秒数​​,然后datetime从该值构造一个 neo4j。例如,这将返回一个datetime表示您的采样时间字符串的 neo4j:

    RETURN datetime({
      epochSeconds: apoc.date.parse('05-03-2016 14:55:20', 's', 'MM-dd-yyyy HH:mm:ss')
    })
    
  2. Neo4j 时间类型只能直接与相同类型进行比较。例如,要将datetimeX 与dateY 进行比较,您可以date在进行比较之前将 X 转换为 a。以下示例查询将返回true

    WITH
      datetime({
        epochSeconds: apoc.date.parse('05-03-2016 14:55:20', 's', 'MM-dd-yyyy HH:mm:ss')
      }) AS X,
      date('2016-05-04') AS Y
    RETURN date({date: X}) <= Y
    

推荐阅读