我在运行python 3.6.8的aws虚拟机上遇到以下错误,而在我的笔记本电脑上,它在python 3.6.1上正常运行
return datetime.strptime(date_str, self.date_format)
File "/usr/lib64/python3.6/_strptime.py", line 565, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib64/python3.6/_strptime.py", line 362, in _strptime
(data_string, format))
ValueError: time data 'Fri, 23 Aug 2019 20:24:46 IDT' does not match format '%a, %d %b %Y %H:%M:%S %Z'
我使用的格式有什么问题?
请参阅官方Python错误跟踪器上的讨论。显然%Z
只支持UTC
,GMT
以及当地时区(由返回的time.tzname
)。
这是一个有趣的案例,官方的Python文档具有误导性(说得很好):
%Z时区名称(如果对象是天真对象,则为空字符串)。(空),UTC,EST,CST
错了 %Z
将只认EST
,CST
等等 ,如果他们是操作系统的本地时区 。
编辑 好吧,文档页面底部附近有一个注释,上面写着
%Z
如果tzname(
)返回None
,%Z
则用空字符串替换。否则%Z
由返回值替换,该值必须是字符串。
不过,目前尚不清楚。
明确说明:
它可在您的本地计算机上使用,因为它使用IDT作为其本地时区,而AWS远程计算机则不是这种情况。