Errno 22转换unix时参数无效

时间:2018-10-23 00:32:18

标签: python

我正在尝试在python中将unix时间转换为人类可读的时间,或者出现错误或日期:1969-12-31 18:00:00。

当我跑步时:

    datetime.datetime.fromtimestamp((1540254404.9600408)).strftime('%Y-%m-%d %H:%M:%S')

我遇到错误:

[Errno 22] Invalid argument

我还尝试了其他一些功能,例如:

time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(1540254404.9600408)))

返回:“ 1969-12-31 18:00:00”,这也不正确...

如上所述,我的unix值是:1540254404.9600408

1 个答案:

答案 0 :(得分:2)

这就是我刚刚做的,而且效果很好!使用Python 3.5.2,Pycharm和Mint18。与2.7.12相同的结果。

from datetime import *

print(datetime.fromtimestamp((1540254404.9600408)).strftime('%Y-%m-%d %H:%M:%S'))

打印结果为:2018-10-22 20:26:44。删除代码中的“日期时间”之一。无需两次引用日期时间。

或者,如果您以其他方式进行导入:

import datetime

print(datetime.datetime.fromtimestamp((1540254404.9600408)).strftime('%Y-%m-%d %H:%M:%S'))

第二行代码也是如此:

import time

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(int(1540254404.9600408))))

另一个说明,time.timestamp是浮点数,而不是整数。