[Python-es] convertir el output de "date" a EPOCH

Chema Cortes pych3m4 en gmail.com
Dom Abr 17 15:43:34 EDT 2016


El sáb., 16 abr. 2016 a las 10:14, monoBOT (<monobot.soft en gmail.com>)
escribió:

> Parece según la documentación que solo admite éstos TZ:
>
>
> (empty), UTC, EST, CST
>
> Yo me miraría el módulo http://pytz.sourceforge.net/
>
>
La documentación lo indica como ejemplo, pero debería reconocerse cualquier
otro TZ.

Lo que sí que pone la documentación del módulo 'datetime'
<https://docs.python.org/3.5/library/time.html> es una tabla sobre cómo
convertir entre distintas representaciones que aclara algo el misterio:

>From To Use seconds since the epoch struct_time
<https://docs.python.org/3.5/library/time.html#time.struct_time> in UTC
gmtime() <https://docs.python.org/3.5/library/time.html#time.gmtime>
seconds since the epoch struct_time
<https://docs.python.org/3.5/library/time.html#time.struct_time> in local
time localtime()
<https://docs.python.org/3.5/library/time.html#time.localtime> struct_time
<https://docs.python.org/3.5/library/time.html#time.struct_time> in UTC
seconds since the epoch calendar.timegm()
<https://docs.python.org/3.5/library/calendar.html#calendar.timegm>
struct_time <https://docs.python.org/3.5/library/time.html#time.struct_time>
in local time seconds since the epoch mktime()
<https://docs.python.org/3.5/library/time.html#time.mktime>

>
>
> El 15 de abril de 2016, 17:02, Jose Caballero <jcaballero.hep en gmail.com>
> escribió:
>
>> 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.
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>
>
>
> --
> *monoBOT*
> Visite mi sitio(Visit my site): monobotsoft.es/blog/
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
http://ch3m4.org/blog
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20160417/1db8207d/attachment.html>


Más información sobre la lista de distribución Python-es