我有一个以纳秒为单位的纪元时间时间戳 - 例如1360287003083988472
自 1970 年 1 月 1 日以来的纳秒。
Python 日期时间对象和转换方法仅支持高达毫秒的精度。
有没有一种简单的方法可以将这个纪元时间转换为人类可读的时间?
首先,将其转换为datetime http://docs.python.org/2/library/datetime.html#datetime.datetime具有第二精度的对象(向下取整,不四舍五入):
>>> from datetime import datetime
>>> dt = datetime.fromtimestamp(1360287003083988472 // 1000000000)
>>> dt
datetime.datetime(2013, 2, 7, 17, 30, 3)
然后为了使其可读,请使用strftime() http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior您返回的对象上的方法:
>>> 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'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)