python - Python3.5时区转换
问题描述
我在这里尝试了许多关于转换时区对象的帖子/建议,但都失败了。我希望有人能给我指出一个简单的方法来做到这一点。
我有一个字符串/日期时间,2017-05-11T16:24:56-04:00
我可以通过多种方式(dateutil 等)将其解析为日期时间对象。打印时我得到
datetime.datetime(2017, 5, 11, 16, 24, 56, tzinfo=tzoffset(None, -14400))
所以它得到一个tzoffset。
尝试任何转换似乎都不会更新实际时间部分,只是更新区域信息。
如何将此字符串转换为我的本地时区(EST,或偏移量 -5 小时)。
编辑:尝试 astimezone() 让我得到这个:
dt.astimezone()
Out[18]: datetime.datetime(2017, 5, 11, 16, 24, 56,
tzinfo=datetime.timezone(datetime.timedelta(-1, 72000), 'EDT'))
谢谢!
解决方案
当您使用它进行转换时,tzinfo
您只需更改输出字符串的后缀(例如使用 tzutc()):2017-05-11 16:24:56+00:00
如果你想在你的时区打印它,首先使用它代表的实际时区创建 datetime 对象:
dt = datetime(2017, 5, 11, 16, 24, 56,
tzinfo=tzoffset(None, -18000))
# 2017-05-11 16:24:56-05:00
然后使用以下命令将其转换为所需的时区:
mydt = dt.astimezone(tzutc())
# 2017-05-11 21:24:56+00:00
推荐阅读
- python - 如何在 Python 中将实时合成的声音定向到多声道音频输出中的各个声道
- reactjs - 不使用 --coverage 选项显示的开玩笑单元测试的覆盖率报告
- mediawiki - 如何创建本地安全 wiki?
- node.js - 为 Bosch iot 套件运行 Vorto Dashboard 时出错
- android - 如何在协调器布局中的屏幕底部附加一个 LinearLayout?
- ansible - 以 ansible 运行 filebeat
- excel - 我的下一个序列码有问题
- swift - CATransformation3D 转换标签未保存在图像上
- sql-server - 如何区分工作流中 SQL 任务中的变量?
- javascript - 获取被拖动元素的上/左坐标(不是指针)