Introduction
En Python, le module datetime fournit des classes pour travailler avec des dates et des heures. Une tâche courante consiste à créer une liste de dates entre deux dates données. Dans ce défi, vous créerez une fonction qui prend deux dates en entrée et renvoie une liste de toutes les dates comprises entre elles.
Plage de dates
Écrivez une fonction Python appelée daterange(start, end) qui prend deux objets datetime.date en arguments et renvoie une liste de toutes les dates comprises entre elles. La liste devrait inclure la date de début mais pas la date de fin.
Pour résoudre ce problème, vous pouvez suivre ces étapes :
- Utilisez
datetime.timedelta.dayspour obtenir le nombre de jours entrestartetend. - Utilisez
int()pour convertir le résultat en entier etrange()pour itérer sur chaque jour. - Utilisez une compréhension de liste et
datetime.timedeltapour créer une liste d'objetsdatetime.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)]
Sommaire
Dans ce défi, vous avez appris à créer une liste de dates entre deux dates données en utilisant le module datetime en Python. Vous pouvez utiliser cette fonction pour résoudre une variété de problèmes, tels que le calcul du nombre de jours entre deux dates ou la génération d'une liste de dates pour un mois ou une année donnés.