繁体   English   中英

为什么此代码在Linux上有效,但在Windows上无效?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM