我的主机有 UTC 时区,我正在尝试将 PDT 时间字符串转换为日期时间对象,
我使用了下面给出的代码片段,但它没有用
datetime_obj = datetime.datetime.strptime('Thu Jun 09 08:28:12 PDT 2016', '%a %b %d %H:%M:%S %Z %Y')
我收到这个错误 -
ValueError: time data 'Thu Jun 09 08:28:12 PDT 2016' does not match
format '%a %b %d %H:%M:%S %Z %Y'
我知道这是因为我的主机的时区是 UTC。但我无法找出解决这个问题的方法。我需要将 PDT 字符串转换为支持 UTC 的时区。
我被屏蔽了。任何帮助表示感谢。
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
将为您提供所有可能的值。