python - 如何将以纳秒为单位的纪元时间转换为人类可读的时间?

标签 python time epoch nanotime

我有一个以纳秒为单位的纪元时间戳 - 例如1360287003083988472 自 1970-01-01 以来的纳秒。

Python 日期时间对象和转换方法仅支持毫秒精度。

有没有一种简单的方法可以将这个纪元时间转换为人类可读的时间?

最佳答案

首先,将其转换为 datetime具有第二精度的对象(地板,而不是四舍五入):

>>> from datetime import datetime
>>> dt = datetime.fromtimestamp(1360287003083988472 // 1000000000)
>>> dt
datetime.datetime(2013, 2, 7, 17, 30, 3)

然后为了使其易于阅读,使用 strftime()您返回的对象上的方法:

>>> s = dt.strftime('%Y-%m-%d %H:%M:%S')
>>> s
'2013-02-07 17:30:03'

最后,加回纳秒精度:

>>> s += '.' + str(int(1360287003083988472 % 1000000000)).zfill(9)
>>> s
'2013-02-07 17:30:03.083988472'

关于python - 如何将以纳秒为单位的纪元时间转换为人类可读的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649942/

相关文章:

java - JFreeChart 时间序列

c# - DateTime、Epoch 和 DocumentDb

python - 带有 conda env 的 uWSGI 不断失败(Docker)

python - Pandas - Groupby 多列

python - 多个进程从 Python 中的中央源读取的快速方法?

PHP 时间变量在 while 循环中不起作用

android - 如何在 "Time"对象中存储小时和分钟

python - 如何获得两个 datetime.time Pandas 列之间的绝对差?

javascript - JavaScript Date.now() 时间格式叫什么?

Python 相当于 Ruby 'is_a?'