Generar un rango de fechas en Python

Beginner

This tutorial is from open-source community. Access the source code

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:

  1. Utiliza datetime.timedelta.days para obtener el número de días entre start y end.
  2. Utiliza int() para convertir el resultado a un entero y range() para iterar sobre cada día.
  3. Utiliza una comprensión de lista y datetime.timedelta para crear una lista de objetos datetime.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.