sna*_*ies 5 python utc pytz dst python-dateutil
由于时区缩写,我很难将非UTC时间的字符串表示转换为UTC.
(更新:似乎时区缩写可能不是唯一的.如果是这样,也许我也应该考虑这一点.)
我一直在尝试使用datetutil和pytz寻找方法,但没有任何运气.
建议或解决方法将不胜感激.
string = "Jun 20, 4:00PM EDT"
Run Code Online (Sandbox Code Playgroud)
我想将其转换为UTC时间,在适当的时候考虑夏令时.
更新:找到一些可能有助于更有经验的用户回答Q的参考资料.
从本质上讲,我会想象的解决方案做相反的一部分这个.
最终更新(重要)
一些基于date命令的简单示例,使用TZOFFSET字典提供BRST时区偏移量.
解析("Thu Sep 25 10:36:28 BRST 2003",tzinfos = TZOFFSETS)datetime.datetime(2003,9,25,10,36,28,tzinfo = tzoffset('BRST', - -10800))
parse("2003 10:36:28 BRST 25 Sep Thu",tzinfos = TZOFFSETS)datetime.datetime(2003,9,25,10,36,28,tzinfo = tzoffset('BRST', - -10800))
使用Nas Banov的优秀字典映射时区缩写到UTC偏移量:
import dateutil
import pytz
# timezone dictionary built here: https://stackoverflow.com/a/4766400/366335
# tzd = {...}
string = 'Jun 20, 4:00PM EDT'
date = dateutil.parser.parse(string, tzinfos=tzd).astimezone(pytz.utc)
Run Code Online (Sandbox Code Playgroud)