我正在尝试解析kdb中的以下utc时间戳
t:1605083972601 1605083972853 1605083972854 1605083972860 1605083972865使得它至少可以解析到毫秒。我尝试做了以下几件事:
`datetime$("P"$10$string[`long$t])
`datetime$("P"$10$string[`long$(t*1000)])这两个函数都返回:
2020.11.11T08:39:32.000 2020.11.11T08:39:32.000 2020.11.11T08:39:32.000 2020.11.11T08:39:32.000显然,让它转到第二个是不够的。如何在kdb中有效地实现这一点?谢谢
发布于 2020-11-20 13:13:02
以下函数将unix时间戳转换为Kdb时间戳:
{`timestamp$(1000000*x)+`long$1970.01.01D0-2000.01.01D0}Kdb时间戳从2000年1月1日开始。这就是为什么unix时间戳必须调整1970.01.01和2000.01.01的差异
发布于 2020-11-20 18:14:08
另一种方法明确表示您所拥有的是自unix时代以来的毫秒数:
q)f:1970.01.01+0D00:00:00.001*
q)f 1605083972601 1605083972853 1605083972854 1605083972860 1605083972865
2020.11.11D08:39:32.601000000 2020.11.11D08:39:32.853000000 2020.11.11D08:39:..https://stackoverflow.com/questions/64924009
复制相似问题