19.11.07

Python: Calculando la fecha de ayer y la de mañana

Esta es una pregunta que suelen realizarme muchas veces, así que queda por escrito para futuras consultas.

Como es lógico, la fecha de ayer y mañana se calculan restando uno o sumando uno a la fecha de hoy. Pero claro, hay que indicar que lo que se suman son días, no un número entero. Esto se realiza con el módulo datetime:

#!/usr/bin/python
# -*- coding: iso-8859-15 -*-

import datetime

# La fecha de hoy es:
hoy = datetime.datetime.today()

# Para calcular la de ayer, restamos un día
ayer = hoy + datetime.timedelta(days=-1)

# Y para mañana, sumamos un día
mañana = hoy + datetime.timedelta(days=1)

5.11.07

Python: ¿En qué día nos encontramos?

En ocasiones puede que necesitemos saber el día de la semana de una fecha en concreto, que podemos realizar con el siguiente código:

import datetime
dicDays = {'MONDAY':'Lunes','TUESDAY':'Martes','WEDNESDAY':'Miercoles','THURSDAY':'Jueves', \
'FRIDAY':'Viernes','SATURNDAY':'Sabado','SUNDAY':'Domingo'}
anho = 2007
mes = 11
dia = 05
fecha = datetime.date(anho, mes, dia)
print dicDays[fecha.strftime('%A').upper()]