Introducción
En Python, el módulo datetime proporciona clases para trabajar con fechas y horas. Una tarea común es crear una lista de fechas entre dos fechas dadas. En este desafío, crearás una función que tome dos fechas como entrada y devuelva una lista de todas las fechas entre ellas.
Rango de fechas
Escribe una función de Python llamada daterange(start, end) que tome dos objetos datetime.date como argumentos y devuelva una lista de todas las fechas entre ellas. La lista debe incluir la fecha de inicio pero no la fecha final.
Para resolver este problema, puedes seguir estos pasos:
- Utiliza
datetime.timedelta.dayspara obtener el número de días entrestartyend. - Utiliza
int()para convertir el resultado a un entero yrange()para iterar sobre cada día. - Utiliza una comprensión de lista y
datetime.timedeltapara crear una lista de objetosdatetime.date.
from datetime import timedelta, date
def daterange(start, end):
return [start + timedelta(n) for n in range(int((end - start).days))]
from datetime import date
daterange(date(2020, 10, 1), date(2020, 10, 5))
## [date(2020, 10, 1), date(2020, 10, 2), date(2020, 10, 3), date(2020, 10, 4)]
Resumen
En este desafío, has aprendido cómo crear una lista de fechas entre dos fechas dadas utilizando el módulo datetime en Python. Puedes utilizar esta función para resolver una variedad de problemas, como calcular el número de días entre dos fechas o generar una lista de fechas para un mes o año dado.