我的主机有时区UTC,我正在尝试将PDT时间字符串转换为日期时间对象, 我使用了下面给出的代码片段,但它没有用
datetime_obj = datetime.datetime.strptime('Thu Jun 09 08:28:12 PDT 2016', '%a %b %d %H:%M:%S %Z %Y')
我收到此错误 -
ValueError:时间数据'Thu Jun 09 08:28:12 PDT 2016'不匹配 格式'%a%b%d%H:%M:%S%Z%Y'
我知道这是因为我的主持人的时区是UTC。但我无法找到解决这个问题的方法。我需要将PDT字符串转换为UTC感知时区。
我被封锁了。任何帮助赞赏。
答案 0 :(得分:1)
您可以在TZINFOS
中拥有许多不同的值。这将支持您的代码遇到不同的时区时不会失败。
解析字符串然后将PDT日期时间转换为UTC将在下面解释。
import pytz
import dateutil.parser
TZINFOS = { 'PDT': pytz.timezone('US/Pacific')}
datetime_obj = dateutil.parser.parse('Thu Jun 09 08:28:12 PDT 2016', tzinfos= TZINFOS)
print datetime_obj
datetime_in_utc = datetime_obj.astimezone(pytz.utc) # convert to UTC
print datetime_in_utc
print pytz.all_timezones
将为您提供所有可能的值。