在kdb中查找日期的时间戳差异

在kdb中查找日期的时间戳差异,kdb,q-lang,Kdb,Q Lang,如何在KDB中找到2个时间戳之间的时间差(以天为单位) 例如 q)d1:2019.02.16D12:16:00.000 q)d2:.z.P 如何找出这两个时间戳之间的差异(以天为单位) q)d1-d2 //in day 您可以强制转换为日期数据类型并减去: (`date$d1)-`date$d2 或 您可以强制转换为日期数据类型并减去: (`date$d1)-`date$d2 或 根据您要求的准确性,您可以简单地执行'date$d1-'date$d2'来检查日期的天数差异。如果您关心的是

如何在KDB中找到2个时间戳之间的时间差(以天为单位)

例如

q)d1:2019.02.16D12:16:00.000
q)d2:.z.P
如何找出这两个时间戳之间的差异(以天为单位)

q)d1-d2 //in day

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

(`date$d1)-`date$d2


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

(`date$d1)-`date$d2


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

((`date$d1)-`date$d2)-0>(`time$d1)-`time$d2
检查最后一天是否已经过了24小时

或者,您可以将每个时间戳中的24小时增量数除以1D00:00并使用;与以下功能相同:

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

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

((`date$d1)-`date$d2)-0>(`time$d1)-`time$d2
检查最后一天是否已经过了24小时

或者,您可以将每个时间戳中的24小时增量数除以1D00:00并使用;与以下功能相同:

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

除非在select语句中,否则应避免使用点符号。在常规函数中,点表示法将失败,例如{x.date}.z.p。请将dt.date替换为d2.date。除非在select语句中,否则应避免使用点表示法。在常规函数中,点表示法将失败,例如{x.date}.z.p。请将dt.date替换为d2.date。