在 kdb 中找到一天中的时间戳差异

Find timestamp difference in day in kdb

你如何找到 KDB 中 2 个时间戳之间的天数差异?

例如

q)d1:2019.02.16D12:16:00.000
q)d2:.z.P

如何找出这两个时间戳之间的天数差异?

q)d1-d2 //in day

您可以转换为日期数据类型并减去:

(`date$d1)-`date$d2

d1.date - d2.date

https://code.kx.com/q/ref/casting/#cast

根据您要求的准确性,您可以简单地 (`date$d1)-`date$d2 检查日期的天数差异。如果您关心 24 小时的确切时间段,则必须扩展逻辑以包括时间戳的时间元素:

((`date$d1)-`date$d2)-0>(`time$d1)-`time$d2

检查最后一天是否过了 24 小时。

或者,您可以通过除以 1D00:00 并使用 floor 来比较每个时间戳中 24 小时增量的数量;如以下函数:

{floor(x-y)%1D00:00}[d1;d2]