Correctly parse date string with timezone information
我通过关键跟踪器API收到这样的格式化日期字符串:"2012/06/05 17:42:29 CEST"
我想将此字符串转换为UTC日期时间对象,看起来python-dateutil无法识别该时区,pytz也不知道它。
我担心我最好的选择是用CET替换字符串中的CEST,但这感觉非常错误。 有没有其他方法可以将夏令时字符串解析为我找不到的UTC日期时间对象?
1 2 3 4 | pytz.timezone('CEST') # -> pytz.exceptions.UnknownTimeZoneError: 'CEST' dateutil.parser.parse("2012/06/05 17:42:29 CEST") # -> datetime.datetime(2012, 6, 5, 17, 42, 29) |
编辑:再次考虑它减去一个小时是完全错误的,因为相应的时区目前也在夏季时间,解析的问题仍然存在
没有真正的
1 2 3 4 5 | >>> pytz.country_timezones('de') [u'Europe/Berlin'] >>> pytz.country_timezones('fr') [u'Europe/Paris'] |
它们(目前)相同,夏季都指
1 2 | >>> dateutil.parser.parse("2012/06/05 17:42:29 CEST").astimezone(pytz.utc) datetime.datetime(2012, 6, 5, 15, 42, 29, tzinfo=<UTC>) |