python converting any datetime string to UTC
本问题已经有最佳答案,请猛点这里访问。
我有一个单调乏味的功能,可以这样做:
1 2 3 4 5 | ... if ('PDT' in stringVal) or ('PST' in stringVal): utcdateTime = convert(stringVal)+(hardcode the offset) elif('EDT' in stringVal)... ... |
我看了几个帖子,包括这个,但找不到任何符合我目的的帖子。 我也查看了
1 2 3 4 5 6 | 2014-05-01 01:02:03 PDT 2014-05-01 01:02:03 PST 2014-05-01 01:02:03 EDT 2014-05-01 01:02:03 EST 2014-05-01 01:02:03 MDT 2014-05-01 01:02:03 MST |
有没有一个python模块,我可以使用一些方法将上述日期时间字符串转换为UTC? 如果没有,我会坚持我的硬编码方式。
您需要翻译时区字符串,否则您可以使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import datetime import pytz s = '2014-05-01 01:02:03 PST' ds, tzs = s.rsplit(' ', 1) tz_map = { 'PST': 'US/Pacific', 'EST': 'US/Eastern' } tz = pytz.timezone(tz_map[tzs]) dt = datetime.datetime.strptime(ds, '%Y-%m-%d %H:%M:%S').replace(tzinfo=tz) dt_utc = dt.astimezone(pytz.utc) |