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

2016-04-17 Por tema Chema Cortes
El sáb., 16 abr. 2016 a las 10:14, monoBOT ()
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'
 es una tabla sobre cómo
convertir entre distintas representaciones que aclara algo el misterio:

>From To Use seconds since the epoch struct_time
 in UTC
gmtime() 
seconds since the epoch struct_time
 in local
time localtime()
 struct_time
 in UTC
seconds since the epoch calendar.timegm()

struct_time 
in local time seconds since the epoch mktime()


>
>
> El 15 de abril de 2016, 17:02, Jose Caballero 
> 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@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@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
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2016-04-17 Por tema Jose Caballero
> 
> 
> 
> Lo que sí que pone la documentación del módulo 'datetime' es una tabla sobre 
> cómo convertir entre distintas representaciones que aclara algo el misterio:
> 
> From To Use seconds since the epoch struct_time in UTC gmtime() seconds since 
> the epoch struct_time in local time localtime() struct_time in UTC seconds 
> since the epoch calendar.timegm() struct_time in local time seconds since the 
> epoch mktime()
> 
> 

Eso no lo había visto, huh!
Lo tengo que probar. 
Pero parece que tengo que saber a priori si la fecha es UTC o no. Fácil, pero 
no me lo esperaba...

Muchas gracias,
Jose___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/


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

2016-04-17 Por tema Jose Caballero
> From To Use seconds since the epoch struct_time in UTC gmtime() seconds
> since the epoch struct_time in local time localtime() struct_time in UTC
> seconds since the epoch calendar.timegm() struct_time in local time seconds
> since the epoch mktime()
>>
>>


>>> 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')

>>> st1 = d1.timetuple()
>>> st2 = d2.timetuple()

>>> print time.mktime(st1)
1460734339.0

>>> print calendar.timegm(st2)
1460734339
___
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/