时间函数 date_diff() 可以计算两个时间类型的时间差(终点减去起点),并返回这个时长(取整数部分)。
Arguments:
- 时间终点 <datetime | timestamp | string>
- 时间起点 <datetime | timestamp | string>
- 差值单位 <string>,有效值:day, hour, minute, second
Returns:
- 时间差 <number>
当终点早于起点时,差值为负;当终点、起点非同源时,在 WITH 中使用该函数时会先将它们及其所有同源列做笛卡尔乘积后再计算,在 RETURN 中使用该函数时会直接将它们及其所有同源列截为等长后再计算。
计算常量、函数值的时间差
示例:计算从当前系统时间到 2050 年的新年还有多少天
return date_diff("2050-01-01 0:0:0", now(), "day")
计算别名的时间差
示例:计算银行卡 CA001 已经开卡多少天
find().nodes({_id == "CA001"}) as n
return date_diff(now(), n.open_date, "day")
计算当前属性值的时间差
示例:查询 10 条最近一年内的 @transfer 边
find().edges({date_diff(now(), @transfer.time, "day") <= 365}) as e
limit 10
return e{*}