import datetime # crear una función cuantoFalta(fecha) a la que le pasamos una fecha # y nos devuelve cuantos días faltan hasta esa fecha def cuantoFalta(fecha): # Calcular cuantos días faltan hasta la fecha que me pasan # que día es hoy hoy = datetime.datetime.now() # Hago la resta, en python es tan sencillo como restar faltan = fecha - hoy # timedelta que es un periodo de tiempo # De ese periodo de tiempo me interesan los días return faltan.days # La fecha de mi cumpleaños miFecha = datetime.datetime(2024, 8, 13) # ¿Cuanto falta hasta mi cumpleaños? print(cuantoFalta(miFecha)) # 75 # crear una función primerosDeMes(anyo) que nos devuelva una lista con las fechas # de los primeros de mes de ese año (1 de enero, 1 de febrero, 1 de marzo...) def primerosDeMes(anyo): # Crear una lista de fechas res = [] # creo una fecha datetime.date(año,mes,dia) # ¿Cuantas fechas tengo que crear? 12 for i in range(12): res.append(datetime.datetime(anyo, i + 1, 1)) # res.append("01/"+str(i+1)+"/"+str(anyo)) return res print(primerosDeMes(2024)) # [2024-1-1,2024-2-1,....,2024-12-1] print(primerosDeMes(2556)) # [2024-1-1,2024-2-1,....,2024-12-1] fechas = primerosDeMes(2024) for fecha in fechas: print(fecha.strftime("%d/%m/%Y"), cuantoFalta(fecha)) # crear una función a la que le pasamos una cadena con una fecha en formato dia/mes/año # y nos devuelve true si es fin de semana y false en caso contrario # esFinDeSemana(cadena) def esFinDeSemana(cadena): res = False # Pasar de cadena a fecha fecha = datetime.datetime.strptime(cadena, "%d/%m/%Y") if fecha.weekday() >= 5: res = True return res print(esFinDeSemana(("01/06/2024"))) # true print(esFinDeSemana(("04/06/2024"))) # false # crear una función a la que le pasamos un año, un mes y un día y nos devuelve una lista # con todas las horas exactas de ese día # crearAgendaDia(2024,5,1)->[2024-5-1 00:00,2024-5-1 01:00,2024-5-1 02:00,2024-5-1 03:00,...2024-5-1 23:00] def crearAgendaDia(anyo, mes, dia): res = [] # crear una lista con unas horas que van de donde a donde? de 0 a 23 for i in range(24): res.append(datetime.datetime(anyo, mes, dia, i)) return res print(crearAgendaDia(2024, 5, 1)) # [2024-5-1 00:00,2024-5-1 01:00,2024-5-1 02:00,2024-5-1 03:00,...2024-5-1 23:00]