首页 > 解决方案 > 如何在 Julia 中将纳秒精度的纪元时间戳转换为日期时间

问题描述

在 Python 的 Pandas 库中,从纳秒精度的 unix 时间戳创建日期时间很简单:

import pandas as pd
ts = pd.to_datetime(1543190400010159332, unit='ns')
print(ts)

显示

2018-11-26 00:00:00.010159332

恢复原始时间戳也很简单,通过ts.value.

是否有在 Julia 中提供等效功能的库?我发现 TimesDates 库提供了纳秒精度,但我在文档中TimeDate找不到显示如何直接从纳秒精度时间戳创建的示例。TimesDates.TimeDate

标签: julia

解决方案


pandas.to_datetime有一个默认为 ( )的origin参数。unix1970-01-01T00:00:00

using TimesDates, Dates
val = 1543190400010159332
sec = val ÷ 10^9
ms = val ÷ 10^6 - sec * 10^3
ns = val % 10^6
origin = TimeDate(unix2datetime(sec))
ms = Millisecond(ms)
ns = Nanosecond(ns)
result = origin + ms + ns

这给了2018-11-26T00:00:00.010159332.

你现在可以把它变成一个函数。


推荐阅读