Formato de fechas

David Asorey Álvarez forodejazz en yahoo.es
Vie Dic 5 11:31:08 CET 2003


 --- Ana Yndurain <yndu en telecable.es> escribió: 

> Hola, sigo preguntando :P
> 
> Tengo una pagina en la que recibo unos correos, y
> muestro, entre otras
> cosas, la fecha de llegada. 
> 
> El problema es q esa fecha, no me llega siempre con
> el mismo formato,
> sino q depende desde donde hayan enviado el correo.
> 
> Por ejemplo, tengo dos correos distintos, en el que
> al leer la cabecera
> Date, uno pone:
> Fri, 05 Dec 2003 10:53:21 +0100
> y otro:
> 05 Dec 2003 10:54:20 +0100
> 

Échale un vistazo al módulo time, concretamente a las
funciones strptime y strftime.

Ejemplo:

import time

lista_fechas = ["Fri, 05 Dec 2003 10:53:21", 
"05 Dec 2003 10:54:20"]

lista_tiempos = []
# lista_tiempos contendrá una lista de valores
# struct_time aptos para ser formateados

cadena_formato1 = "%a, %d %b %Y %H:%M:%S"
cadena_formato2 = "%d %b %Y %H:%M:%S"
# Puedes crear más cadenas de formato

for fe in lista_fechas:
    try:
        # Si no cuadra el formato con la cadena, 
        # saltará una excepción
        lista_tiempos.append(time.strptime(fe,
cadena_formato1))
    except:
        lista_tiempos.append(time.strptime(fe,
cadena_formato2))

for ti in lista_tiempos:
    print time.strftime("Día %d, mes %m, año: %Y", ti)


Un saludo.

David



_______________________________________________________________
Yahoo! Sorteos
¡Ya puedes comprar Lotería de Navidad!
http://yahoo.ventura24.es/




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