[Python] Cómo obtener la fecha de ayer

tata-titi Mensajes publicados 43 Estado Miembro -  
sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   -
¿Hay alguna función o "conversion" existente que permita obtener la fecha del día anterior con ...time... ???

Gracias
Configuración: Windows XP Firefox 1.5.0.9

4 respuestas

  1. teebo Mensajes publicados 33585 Fecha de registro   Estado Colaborador Última intervención   1 797
     
    Mucho más simple :)

     import datetime print "hoy:", datetime.date.today() print "ayer:", datetime.date.today()-datetime.timedelta(1) 

    --
    Sin la cortesía, solo nos reuniríamos para pelear.
    Por lo tanto, hay que vivir solo o ser cortés.
    Alphonse Karr
    2
    1. Eclipsse
       
      ¡Funciona a la perfección!

      Gracias por los consejos

      Eclipsse
      0
    2. getnate Mensajes publicados 3 Fecha de registro   Estado Miembro
       
      Hola,
      y en realidad, ¿cómo haces para indicar la fecha de hace 1 mes?
      0
      1. sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   15 684 > getnate Mensajes publicados 3 Fecha de registro   Estado Miembro
         
        Usa timedelta (vea la documentación de Python).
        0
  2. teebo Mensajes publicados 33585 Fecha de registro   Estado Colaborador Última intervención   1 797
     
    Hola
    Estás haciendo -1 en la fecha de hoy :)
    --
    Sin la amabilidad, solo nos reuniríamos para pelear.
    Por lo tanto, hay que vivir solo o ser educado.
    Alphonse Karr
    0
  3. tata-titi Mensajes publicados 43 Estado Miembro 11
     
    ¡No es tan simple si quieres una fecha del formato "20070702"!
    --------------------------------------------------------------------------------

    hoy = time()

    # 86400 = 24 h x 3600 segundos => 1 día en segundos!
    ayer = hoy - 86400
    formateado = gmtime(ayer)

    if len(str(formateado[1]))<2 :
    primero = "0"+str(formateado[1])
    else :
    primero = str(formateado[1])
    if len(str(formateado[2]))<2 :
    segundo = "0"+str(formateado[2])
    else :
    segundo = str(formateado[2])

    concat = str(formateado[0]) + primero + segundo

    ===> porque si no puede dar "200772"!!!
    0
  4. sebsauvage Mensajes publicados 33284 Fecha de registro   Estado Moderador Última intervención   15 684
     
    ¡si quieres una fecha del formato "20070702"!

    Ver strftime()

    --
    “La vida es corta - Necesitas Python” -- Bruce Eckel, miembro del comité ANSI C++
    0