Pues me he encontrado con el Algoritmo de Tomohiko Sakamoto en C para calcular el día de la semana de una fecha y lo he pasado a python.

Alucinante, de verdad (el algoritmo, no mi versión python ;D).

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def dow(y, m, d):
	t = [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4]
	y -= m < 3  #Si el mes es menor de tres se disminuye en uno el año
	return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7

if __name__ == '__main__':
	days = ["Domingo", "Lunes", "Martes", "Miercoles","Jueves", "Viernes", "Sábado"]
	print days[dow(2016,6,16)]

Un saludo.

Anuncios