是否有办法获取类型为datetime的2个值之间的差(以秒为整数)?我可以更接近地获得一个持续时间类型值,该值不是很精确,因为它基于作为输入传递的日期。
这里是一个例子。这两个查询都返回"P1M0DT0S"
RETURN duration.between(datetime("2018-01-01T00:00:00Z"),
datetime("2018-02-01T00:00:00Z"))
RETURN duration.between(datetime("2018-02-01T00:00:00Z"),
datetime("2018-03-01T00:00:00Z"))
如果仔细看,这是1月1日至2月1日,然后2月1日至3月1日的持续时间。它们都产生“ 1个月”,但是一个月是31天,另一个是28天。我需要几秒钟。
我尝试了显而易见的方法,例如对结果调用toInteger
,但它不起作用。
Neo.ClientError.Statement.SyntaxError: Type mismatch: expected Float, Integer, Number or String but was Duration (line 1, column 26 (offset: 25))
"RETURN toInteger(duration.between(datetime("2018-03-01T00:00:00Z"), datetime("2018-02-01T00:00:00Z")))"
答案 0 :(得分:1)
两个答案。一个持续时间:
RETURN duration.inSeconds(datetime("2018-01-01T00:00:00Z"),
datetime("2018-02-01T00:00:00Z")).seconds
一个带有日期时间的
RETURN datetime("2018-03-01T00:00:00Z").epochSeconds - datetime("2018-02-01T00:00:00Z").epochSeconds