如何将以下时间戳t:1595779091979
转换为等效的`datetime $()表示形式(UTC)?
例如,如果有人尝试使用以下内容这样做。
q) `datetime$t
0000.00.00T00:00:00.000
q) `timestamp$t
2000.01.01D00:26:35.779091979
(两者都不正确,时间应为2020.07.26D ...)
谢谢
答案 0 :(得分:3)
时间戳1595779091979
看起来像是1970年以来的毫秒数。如果您删除了千禧年-转换很简单
q)1970.01.01+0D00:00:01*1595779091
2020.07.26D15:58:11.000000000
或保持千分之一秒
q)1970.01.01+0D00:00:00.001*1595779091979
2020.07.26D15:58:11.979000000
最后,您可以将以下定义添加到实用程序库中
ts:1970.01.01+0D00:00:00.001*
并在需要转换时在代码中使用它
q)ts 1595779091979
2020.07.26D15:58:11.979000000
更新:可以将简短的解决方案写为
ts:1970.01.01D+1000000*