[英]Why does this code work on Linux but not on Windows?
我在这里提出了有关标记夏令时的上一个问题。 @MattMessersmith友好而专业地回答了我的问题,他的解决方案在Linux (Ubuntu)上运行完美 , 但在我的Windows机器 ( 办公和家庭) 上均无法使用 。
如果有帮助的话,我的Windows机器都运行带有Python 3.6和pytz 2018.4的Anaconda。
在Windows上运行代码时,出现以下错误:
Traceback (most recent call last):
File "<ipython-input-185-ed30519c4311>", line 1, in <module>
transition_times = [t.astimezone(tz) for t in transition_times]
File "<ipython-input-185-ed30519c4311>", line 1, in <listcomp>
transition_times = [t.astimezone(tz) for t in transition_times]
OSError: [Errno 22] Invalid argument
这是在我的Windows计算机上产生错误的代码:
from pytz import timezone
# Map transition times to year for some efficiency gain
tz = timezone('America/Denver')
transition_times = tz._utc_transition_times[1:]
transition_times = [t.astimezone(tz) for t in transition_times]
这是一个错误: [Windows] datetime.fromtimestamp(t)在Python 3.6上0 <= t <= 86399失败 。
因为tz._utc_transition_times[1:]
某些datetime object
小于1970-01-01 00:00:00.000
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.