Générer une plage de dates en Python

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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 :

  1. Utilisez datetime.timedelta.days pour obtenir le nombre de jours entre start et end.
  2. Utilisez int() pour convertir le résultat en entier et range() pour itérer sur chaque jour.
  3. 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)]

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.