Datetime, hayar la diferencia de fechas.

Javier Salinas shawjsg en hotmail.com
Mar Mayo 9 12:28:30 CEST 2006


Gracias Arnau por la ayuda, yo lo hice de la siguiente forma:

>>lastmodified = 'Thu, 04 May 2006 20:01:50 GMT'

>>last = time.mktime(time.strptime(lastmodified,"%a, %d %b %Y %H:%M:%S 
>>GMT"))
>>lastvalida = datetime.datetime.fromtimestamp(last)
>>lastmodified_en_sec =time.mktime(lastvalida.timetuple())

>>fecha_actual_segundos = int(time.time()) resta = 
>>abs(lastmodified_en_sec-fecha_actual_segundos)

Ciao.


>From: Arnau Sanchez <arnau en ehas.org>
>Reply-To: La lista de python en castellano <python-es en aditel.org>
>To: La lista de python en castellano <python-es en aditel.org>
>Subject: Re: [Python-es] Datetime, hayar la diferencia de fechas.
>Date: Wed, 03 May 2006 19:40:55 +0200
>
>Buenas,
>
> > me gustaria saber si es posible realizar la siguiente operacion en 
>python
>
>¿hay algo que no se pueda hacer en python? ;-)
>
>Javier, si no entiendo mal, quieres encontrar la diferencia de tiempo entre 
>una fecha que tienes en una string y la fecha actual. En tal caso yo haría 
>esto (teniendo en cuenta la cadena que das):
>
>(nombres de variables descriptivos, porque mira que son feos)
>
>#!/usr/bin/python
>import time
>
>fecha_servidor_cadena = "Wed, 03 May 2006 15:52:13 GMT"
>fecha_servidor_tupla = time.strptime(fecha_servidor_cadena, "%a, %d %B %Y 
>%H:%M:%S %Z")
>fecha_servidor_segundos = int(time.strftime("%s", fecha_servidor_tupla))
>
>fecha_actual_segundos = int(time.time())
>
>diferencia = fecha_actual_segundos - fecha_servidor_segundos
>
>y ya tienes la diferencia en segundos, luego la pasas a lo que te de la 
>gana (minutos, horas...)
>
>....
>
>consideraciones:
>
>- tienes la documentación de todo esto en: 
>http://docs.python.org/lib/module-time.html
>
>- cuidado con el tema de los "locales", si un servidor no te da la cadena 
>en inglés vas a tener problemas (principalmente en el nombre del mes, ya 
>que el día de la semana lo podrías eliminar, no sirve para nada), pero 
>vamos, imagino que estará siempre en inglés.
>
>- la directiva "%s" (que uso en strftime), segundos en UTC desde 1970, no 
>está documentada en el módulo "time" (la he puesto por el "date" de linux), 
>parece un descuido (¿quizá debamos informar?).
>
>ya nos contarás
>
>arnau
>
>
>Javier Salinas wrote:
>
>>
>>Hola, me llamo Javier y me gustaria saber si es posible realizar la 
>>siguiente operacion en python:
>>
>>Quiero realizar la diferencia entre dos fechas que estan en el siguiente 
>>formato:
>>-Una de ellas procede de una cadena de texto de la siguiente forma:
>>  'Wed, 03 May 2006 15:52:13 GMT'  (que es el formato de fechas que 
>>manejan los
>>  servidores)
>>  que habra sido creada de la siguiente forma:
>>
>>>>>from time import gmtime, strftime
>>>>>strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime())
>>>>
>>'Wed, 03 May 2006 16:47:35 GMT'
>>
>>-La otra es un objeto datetime que se crea de la siguiente forma:
>>
>>>>>import time
>>>>>fecha_actual = time.gmtime(time.time())
>>>>>print fecha_actual
>>>>
>>(2006, 5, 3, 16, 41, 49, 2, 123, 0)
>>
>>Ahora lo que quiero hacer es restar la fecha procedente de la cadena de 
>>texto y la  fecha actual que sera un objeto datetime contenido en 
>>fecha_actual y obtener la diferencia(en valor absoluto). Como podría
>>hcerlo?
>>
>>-Se que antes tengo que transformar la cadena de texto en un objeto time 
>>mediante
>>  strptime, pero no se como hacerlo.
>>
>>
>>_______________________________________________
>>Python-es mailing list
>>Python-es en aditel.org
>>http://listas.aditel.org/listinfo/python-es
>>
>>
>_______________________________________________
>Python-es mailing list
>Python-es en aditel.org
>http://listas.aditel.org/listinfo/python-es




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