以微秒为单位的 Unix 时间到实时 python
Unix time to real time in microseconds python
我尝试了以下方法并收到错误:
>>> datetime.utcfromtimestamp(1539065539).strftime('%Y-%m-%d %H:%M:%S.%f')
'2018-10-09 6:12:19.000000'.
>>> datetime.utcfromtimestamp(int(1539065539013987670)).strftime('%Y-%m-%d %H:%M:%S.%f')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
>>> datetime.utcfromtimestamp(153906553901).strftime('%Y-%m-%d %H:%M:%S.%f')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
我认为这个数字超出了 int
数据类型的大小。因此这个错误来了。如何摆脱它并在我期待的微秒内得到正确答案。
将值(实际上看起来是纳秒)除以 1e9 得到秒,您可以将其传递给 utcfromtimestamp
。
>>> datetime.datetime.utcfromtimestamp(1539065539013987670 / 1e9)
datetime.datetime(2018, 10, 9, 6, 12, 19, 13988)
已在 Python - Convert epoch time with nanoseconds to human-readable?
上回答
>>> datetime.utcfromtimestamp(1539065539013987670/1000000000).strftime('%Y-%m-%d %H:%M:%S.%f')
'2018-10-09 06:12:19.013988'
我尝试了以下方法并收到错误:
>>> datetime.utcfromtimestamp(1539065539).strftime('%Y-%m-%d %H:%M:%S.%f')
'2018-10-09 6:12:19.000000'.
>>> datetime.utcfromtimestamp(int(1539065539013987670)).strftime('%Y-%m-%d %H:%M:%S.%f')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
>>> datetime.utcfromtimestamp(153906553901).strftime('%Y-%m-%d %H:%M:%S.%f')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
我认为这个数字超出了 int
数据类型的大小。因此这个错误来了。如何摆脱它并在我期待的微秒内得到正确答案。
将值(实际上看起来是纳秒)除以 1e9 得到秒,您可以将其传递给 utcfromtimestamp
。
>>> datetime.datetime.utcfromtimestamp(1539065539013987670 / 1e9)
datetime.datetime(2018, 10, 9, 6, 12, 19, 13988)
已在 Python - Convert epoch time with nanoseconds to human-readable?
上回答>>> datetime.utcfromtimestamp(1539065539013987670/1000000000).strftime('%Y-%m-%d %H:%M:%S.%f')
'2018-10-09 06:12:19.013988'