在python中获取GMT时间给定日期和UTC偏移量

时间:2010-10-28 16:11:31

标签: python datetime utc gmt

我有一个格式为'%Y%m%d%H%M%S'的日期字符串,例如'19981024103115' 和另一个UTC本地偏移字符串,例如'+0100'

将python转换为GMT时间的最佳方法是什么

结果将是'1998-10-24 09:31:15'

2 个答案:

答案 0 :(得分:3)

您可以使用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)

答案 1 :(得分:0)

只要您知道时间偏移量始终为4位数形式,这应该可行。

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