Comprobar si grupo de fechas son consecutivas en Python

La siguiente función se encarga de analizar las fechas contenidas en una lista y comprobar si son consecutivas.
El siguiente código también puede ser descargado desde este link en github, ya que el copiar directamente del wordpress puede dar problemas por el tema de indentación:


from datetime import datetime
def check_consecutivos(fechas_verificar):
	dates = []
	for dt in fechas_verificar:
		dates.append(datetime.strptime(dt, "%Y-%m-%d"))

	date_ints = []
	for dt in dates:
		date_ints.append(dt.toordinal())
	date_ints = set(date_ints)
	if(len(date_ints)):
		if max(date_ints) - min(date_ints) == len(date_ints) - 1:
			print "Es consecutivo"
			return True
		else:
			print "No es consecutivo"
			return False
	else:
		print "No hay suficientes elementos especificados"
		return False

fechas_verificar = ['2012-01-27','2012-01-22','2012-01-30']
resultado = check_consecutivos(fechas_verificar)
print resultado

Ejemplos de uso:
fechas_verificar = [‘2012-01-28′,’2012-01-29′,’2012-01-30’]
resultado = check_consecutivos(fechas_verificar)
print resultado
Resultado
Es consecutivo
True
[Finished in 0.0s]

fechas_verificar = [‘2012-01-27′,’2012-01-22′,’2012-01-30’]
resultado = check_consecutivos(fechas_verificar)
print resultado
Resultado:
No es consecutivo
False
[Finished in 0.0s]

Anuncios

2 comentarios en “Comprobar si grupo de fechas son consecutivas en Python

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s