Obtenga la fecha de hora GMT y el desplazamiento UTC en python

Tengo una cadena de fecha con el siguiente formato '%Y%m%d%H%M%S' por ejemplo '19981024103115' y otra cadena del desplazamiento local UTC por ejemplo '+0100'

¿Cuál es la mejor manera en Python para convertirlo a la hora GMT?

Entonces el resultado será '1998-10-24 09:31:15'

Podrías usar dateutil para eso:

 >>> 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) 

Siempre que sepa que la compensación de tiempo siempre estará en el formato de 4 dígitos, esto debería funcionar.

 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