kdb和x2B/问:如何将utc时间戳转换为日期时间?

kdb和x2B/问:如何将utc时间戳转换为日期时间?,kdb,Kdb,如何将以下时间戳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…) 谢谢时间戳1595779091979看起来像是1970年以来的毫秒。如果你去掉毫秒,转换很简单 q)197

如何将以下时间戳
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…)


谢谢

时间戳
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*