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.days
pour obtenir le nombre de jours entre start
et end
.
- Utilisez
int()
pour convertir le résultat en entier et range()
pour itérer sur chaque jour.
- Utilisez une compréhension de liste et
datetime.timedelta
pour créer une liste d'objets 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)]