import datetime
def primerDiaLaborable(fecha):
if fecha.weekday() >= 5:
# pasar al lunes ¿Cómo?
# Si es un 5 le sumo 2 y si es un 6 le sumo 1
# 5-->2
# 6-->1
# suman 7 7-weekday()=lo que yo le tengo que sumar
fecha += datetime.timedelta(days=7-fecha.weekday())
"""
if fecha.weekday() == 5:
fecha += datetime.timedelta(days=2)
if fecha.weekday() == 6:
fecha += datetime.timedelta(days=1)
"""
return fecha
def crearCitas(fechaInicio, diasIntervalo, numero):
"""
Función para crear una serie de citas
:param fechaInicio: La fecha en que empiezan las citas
:param diasIntervalo: Cada cuantos días será la cita
:param numero: El número de citas
:return: Una lista con todas las citas
"""
citas = []
intervalo = datetime.timedelta(days=diasIntervalo)
for i in range(numero):
# antes de añadir la fecha a la lista tengo que comprobar si es fin de semana o no
fechaInicio = primerDiaLaborable(fechaInicio)
citas.append(fechaInicio)
fechaInicio += intervalo
return citas
def crearArchivo(nombre, titulo, citas):
archivo = open(nombre, "w")
for cita in citas:
archivo.write(cita.strftime("%d/%m/%Y") + ";" + titulo + "\n")
archivo.close()
hoy = datetime.datetime.now()
print(hoy.weekday())
misCitas = crearCitas(hoy, 10, 20)
print(misCitas)
crearArchivo("citas.txt", "Seguimiento Python", misCitas)
# Mi idea va a ser crear un archivo para crear citas. Este archivo lo voy a importar
# con un programa de calendario
# El formato que necesito es
# d/m/Y;titulo de la cita
# Como añadido: no puedo tener citas en fin de semana. Si aluna cita cae en fin de semana
# se pasa al lunes siguiente