kdb+/q: 如何将 utc 时间戳转换为日期时间?
kdb+/q:How does one convert a utc timestamp to a datetime?
如何将以下时间戳 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*
如何将以下时间戳 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*