【发布时间】:2017-03-29 16:49:40
【问题描述】:
我必须使用 Python 从浮点数中获取datetime。我正在尝试使用以下代码:
import time
print (time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(float(63650571169.50261))))
但是在执行这段代码时,我得到一个错误:
OSError: [Errno 22] Invalid argument
sys.float_info.max 显示 1.7976931348623157e+308。
如何将此浮点数转换为datetime?
【问题讨论】:
-
该代码适用于 OS X 上的 Python 3.6.1,生成
3987-01-03 10:12:49 -
您使用什么操作系统?在 Linux 上的 3.4.5 上为我工作,答案与上述相同。
-
如果我们不能重现这个但你可以,你可能需要做一个 strace 来找出失败的系统调用。见IOError: [Errno 22] Invalid Argument with clock() being passed in
-
@MartijnPieters 初始测试,我可以部分在 Windows 上的 Python 2.7 中复制,
ValueError: (22, 'Invalid argument') -
@roganjosh:对于
time.gmtime()部分或time.strftime()部分?