在Python中根据日期和UTC偏移量获取GMT时间
我有一个日期字符串,格式是 '%Y%m%d%H%M%S'
,比如说 '19981024103115'
。还有一个表示UTC时区偏移的字符串,比如 '+0100'
。
在Python中,怎么才能把它转换成GMT时间呢?
最后的结果应该是 '1998-10-24 09:31:15'
。
2 个回答
0
只要你知道时间偏移量总是以四位数字的形式出现,这样就可以正常使用了。
def MakeTime(date_string, offset_string):
offset_hours = int(offset_string[0:3])
offset_minutes = int(offset_string[0] + offset_string[3:5])
gmt_adjust = datetime.timedelta(hours = offset_hours, minutes = offset_minutes)
gmt_time = datetime.datetime.strptime(date_string, '%Y%m%d%H%M%S') - gmt_adjust
return gmt_time
4
你可以使用dateutil
来实现这个功能:
>>> from dateutil.parser import parse
>>> dt = parse('19981024103115+0100')
>>> dt
datetime.datetime(1998, 10, 24, 10, 31, 15, tzinfo=tzoffset(None, 3600))
>>> dt.utctimetuple()
time.struct_time(tm_year=1998, tm_mon=10, tm_mday=24, tm_hour=9, tm_min=31, tm_sec=15, tm_wday=5, tm_yday=297, tm_isdst=0)