【发布时间】:2016-09-26 11:20:21
【问题描述】:
由于某种原因,在使用 fromtimestamp 构造日期时间时,当我使用小于 -43200(-12 小时)的负数时,我得到一个“OSError [Errno22] Invalid Argument”。 我在 Win7 64 位和 python 3.5.1 上。这是产生错误的代码。
>>> import datetime
>>> import pytz
>>> datetime.datetime.fromtimestamp(-43200, pytz.utc)
datetime.datetime(1969, 12, 31, 12, 0, tzinfo=<UTC>)
>>> datetime.datetime.fromtimestamp(-43201, pytz.utc)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 22] Invalid argument
示例使用 pytz 来简化时区信息,但没有它也会出现错误。
【问题讨论】:
-
这里你的两行是相似的,第一行打印值第二次抛出错误。所以我认为有一些缩进错误或其他东西..所以尝试使用 except OSError as e: 捕获异常然后输入你的错误..
-
不是语法错误。此示例有意简单地显示导致错误所需的最小值。我最初在 for 循环中找到了限制。
-
对我来说同样的问题是bug in python 3.6
标签: python