example biblioteca python datetime

python - biblioteca - Conversión de cadena con desplazamiento UTC a un objeto datetime



timedelta python example (1)

Esta pregunta ya tiene una respuesta aquí:

Dada esta cadena: "Fri, 09 Apr 2010 14:10:50 +0000" ¿cómo se puede convertir a un objeto datetime ?

Después de leer, siento que esto debería funcionar, pero no ...

>>> from datetime import datetime >>> >>> str = ''Fri, 09 Apr 2010 14:10:50 +0000'' >>> fmt = ''%a, %d %b %Y %H:%M:%S %z'' >>> datetime.strptime(str, fmt) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.6/_strptime.py", line 317, in _strptime (bad_directive, format)) ValueError: ''z'' is a bad directive in format ''%a, %d %b %Y %H:%M:%S %z''

Cabe señalar que esto funciona sin problemas:

>>> from datetime import datetime >>> >>> str = ''Fri, 09 Apr 2010 14:10:50'' >>> fmt = ''%a, %d %b %Y %H:%M:%S'' >>> datetime.strptime(str, fmt) datetime.datetime(2010, 4, 9, 14, 10, 50)

Pero estoy atascado con "Fri, 09 Apr 2010 14:10:50 +0000" . Preferiría convertir exactamente eso sin cambiarlo (ni cortarlo) de ninguna manera.


Parece que strptime no siempre admite %z . Python parece llamar simplemente a la función C, y strptime no admite %z en su plataforma.

Nota: desde Python 3.2 en adelante, siempre funcionará.