我有一个带有字符串格式时区信息的时间戳,我想将其转换为使用我的本地时区显示正确的日期/时间。例如……我有
timestamp1 = 2011-08-24 13:39:00 +0800
我想把它转换成时区偏移量+1000来显示
timestamp2 = 2011-08-24 15:39:00 +1000
我试过使用pytz,但找不到很多例子来展示如何使用偏移信息。我在stackoverflow上找到的另一个描述这个确切问题的链接在这里。我希望有更好的方法来处理这个用pytz。谢谢你的建议:).
谢谢Cixate。我刚刚找到的解决方案和你的非常相似。发现这些链接很有帮助- LINK1和LINK2
为每个人的利益发布解决方案
from datetime import datetime
import sys, os
import pytz
from dateutil.parser import parse
datestr = "2011-09-09 13:20:00 +0800"
dt = parse(datestr)
print dt
localtime = dt.astimezone (pytz.timezone('Australia/Melbourne'))
print localtime.strftime ("%Y-%m-%d %H:%M:%S")
2011-09-09 15:20:00
datetime。一旦有了datetime对象,Astimezone将执行基本转换。如果您试图从字符串中获取一个日期时间对象,请pip install python-dateutil,它就像这样简单:
>>> from dateutil.parser import parse
>>> from dateutil.tz import tzoffset
>>> dt = parse('2011-08-24 13:39:00 +0800')
datetime.datetime(2011, 8, 24, 13, 39, tzinfo=tzoffset(None, 28800))
>>> dt.astimezone(tzoffset(None, 3600))
datetime.datetime(2011, 8, 24, 6, 39, tzinfo=tzoffset(None, 3600))