[Python-es] convertir el output de "date" a EPOCH
Jose Caballero
jcaballero.hep en gmail.com
Vie Abr 15 12:02:51 EDT 2016
Hola,
tengo la sensacion de que es una pregunta simple, pero llevo 2 horas
buscando en google y no lo encuentro :(
Necesito convertir un "string" a segundos desde el epoch.
En principio seria facil, salvo por el hecho de que no se a priori la zona.
El string puede ser
"Fri Apr 15 11:32:19 EDT 2016"
o podria ser
"Fri Apr 15 15:32:19 UTC 2016"
Yo creia que %Z entiende la "time zone". Pero me encuentro con esto:
>>> from datetime import datetime
>>> d1 = datetime.strptime("Fri Apr 15 11:32:19 EDT 2016", '%a %b %d %H:%M:%S %Z %Y')
>>> d2 = datetime.strptime("Fri Apr 15 15:32:19 UTC 2016", '%a %b %d %H:%M:%S %Z %Y')
>>> print d1.utctimetuple()
time.struct_time(tm_year=2016, tm_mon=4, tm_mday=15, tm_hour=11,
tm_min=32, tm_sec=19, tm_wday=4, tm_yday=106, tm_isdst=0)
>>> print d2.utctimetuple()
time.struct_time(tm_year=2016, tm_mon=4, tm_mday=15, tm_hour=15,
tm_min=32, tm_sec=19, tm_wday=4, tm_yday=106, tm_isdst=0)
>>> print d1.strftime("%s")
1460734339
>>> print d2.strftime("%s")
1460748739
Yo hubiese esperado el mismo resultado, al ser ambas fechas la misma
(una en UTC y la otra en EDT).
?que me esta faltando?
Muchas gracias por adelantado.
Jose
P.S. perdon por la falta de tildes.
Más información sobre la lista de distribución Python-es