python : Converting time string with different timezone to host timezone datetime object?

标签 python python-2.7 datetime timezone

<分区>

我的主机有 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 将为您提供所有可能的值。

关于 python : Converting time string with different timezone to host timezone datetime object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763341/

相关文章:

python - 如何阻止 turtle 即使拿起笔也不会画画?

python - 检查字符串是否与python中的IP地址模式匹配?

python - 在特定时期保存 Keras 模型

python - Python 脚本中 "for"循环的进度条

r - 执行数学运算后在时钟时间内显示时间

python - Python或Ruby我应该学习哪一个?

Python 类/总是返回 0

python - 如何为Python虚拟环境配置Ansible?

C# 在下拉列表中显示时间间隔

python - 从非周期性数据创建数据帧。 (重新调整时间戳)[Pandas Python]