Python 2.7 cómo analizar una fecha con el formato 2014-05-01 18: 10: 38-04: 00

Estoy tratando de analizar esta cadena de fecha y hora, sin éxito todavía, ¿cómo puedo obtenerla?

d = '2014-05-01 18:10:38-04:00' datetime.datetime.strptime(d,'%Y-%m-%d %H:%M:%S-%Z') ValueError: time data '2014-05-01 18:10:38-04:00' does not match format '%Y-%m-%d %H:%M:%S%Z' 

¿Has probado iso8601 lib? Primero instálelo: https://pypi.python.org/pypi/iso8601/

Entonces:

  import iso8601 mydate = '2014-05-01 18:10:38-04:00' iso8601.parse_date(mydate) Out[3]: datetime.datetime(2014, 5, 1, 18, 10, 38, tzinfo=) 

También puedes usar el módulo python-dateutil :

 >>> from dateutil import parser >>> d = '2014-05-01 18:10:38-04:00' >>> parser.parse(d) datetime.datetime(2014, 5, 1, 18, 10, 38, tzinfo=tzoffset(None, -14400)) 

Ver también:

  • ¿Cómo analizar las fechas con la cadena de zona horaria -0400 en Python?
  • ¿Cómo convertir una cadena con reconocimiento de zona horaria a datetime en python sin dateutil?