在kdb中查找以天为单位的时间戳差异

时间:2017-12-27 17:33:34

标签: kdb q-lang

如何找到KDB中2个时间戳之间的时差?

例如。

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

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

q)d1-d2 //in day

2 个答案:

答案 0 :(得分:3)

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

(`date$d1)-`date$d2

d1.date - d2.date

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

答案 1 :(得分:1)

根据您所需的准确性,您只需执行array.array('b', map(ord, 'Some characters')) 即可检查日期的差异。如果您关注24小时的确切时段,则必须扩展逻辑以包括时间戳的时间元素:

(`date$d1)-`date$d2

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

或者,您可以比较每个时间戳中24小时增量的数量除以((`date$d1)-`date$d2)-0>(`time$d1)-`time$d2 并使用floor;如下面的函数:

1D00:00