2012-06-11 39 views
5

que tiene una cadena de fecha y hora en la forma de una cadena como:cadena de análisis sintáctico fecha en Python (convertir la serie hasta la fecha)

2011-10-23T08:00:00-07:00 

¿Cómo analizo esta cadena como el objeto de fecha y hora.

hice lo siguiente lectura de la documentación:

date = datetime.strptime(data[4],"%Y-%m-%d%Z") 

pero me sale el error

ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z' 

que es muy clara.

Pero no estoy seguro de cómo leer este formato.

Cualquier sugerencia. Gracias

EDIT: Además, hay que añadir, lo único que importa es la parte de fecha

Respuesta

23

datetime.datetime.strptime estándar tiene problemas con las definiciones de zona horaria. Utilice dateutil.parser

>>> from dateutil import parser 
>>> parser.parse("2011-10-23T08:00:00-07:00") 
datetime.datetime(2011, 10, 23, 8, 0, tzinfo=tzoffset(None, -25200)) 

Si usted se preocupa sólo la parte de fecha, puede probarlo sin dateutil.parser:

>>> from datetime import datetime 
>>> datetime.strptime(data[4].partition('T')[0], '%Y-%m-%d').date() 
datetime.date(2011, 10, 23) 
Cuestiones relacionadas