Les bases du module datetime en Python
La gestion des dates et des heures est l'une des tâches les plus courantes en programmation. En Python, le module datetime est l'outil idéal pour cela. Il permet de manipuler facilement les dates, les heures, les intervalles de temps et le formatage.
Si vous vous êtes déjà demandé comment obtenir la date du jour en Python, calculer un écart entre deux dates ou transformer une chaîne de caractères en date, cet article vous apporte toutes les réponses avec des exemples de code prêts à l'emploi.
Qu'est-ce que le module datetime ?
Le module datetime fait partie de la bibliothèque standard de Python. Il fournit des classes pour gérer le temps et les dates. Ce module est intégré, donc aucune installation supplémentaire n'est nécessaire.
Avec le module datetime, vous pouvez :
- Obtenir la date et l'heure actuelles
- Effectuer des opérations arithmétiques sur les dates
- Formater et convertir des dates
- Travailler avec des intervalles de temps via la classe timedelta
- Gérer les fuseaux horaires
L'importation du module se fait de manière standard :
import datetime
Obtenir la date et l'heure actuelles
Comment obtenir la date d'aujourd'hui
Récupérer la date courante est l'une des opérations les plus fréquentes. Pour cela, utilisez la méthode today() de la classe date :
from datetime import date
today = date.today()
print(f"Date d'aujourd'hui : {today}")
Le résultat s'affiche au format AAAA-MM-JJ, par exemple : 2025-05-09.
Obtenir l'heure et la date en même temps
Si vous avez besoin à la fois de la date et de l'heure, utilisez la classe datetime et la méthode now() :
from datetime import datetime
now = datetime.now()
print(f"Date et heure actuelles : {now}")
Extraire les composants individuels de la date et de l'heure
Le module datetime permet d'extraire facilement chaque composant :
current_time = datetime.now()
print(f"Année : {current_time.year}")
print(f"Mois : {current_time.month}")
print(f"Jour : {current_time.day}")
print(f"Heures : {current_time.hour}")
print(f"Minutes : {current_time.minute}")
print(f"Secondes : {current_time.second}")
Formatage de la date et de l'heure
Les bases du formatage
Il est souvent nécessaire d'afficher une date dans un format lisible. Utilisez la méthode strftime() pour définir le format souhaité :
now = datetime.now()
formatted = now.strftime("%d-%m-%Y %H:%M:%S")
print(f"Date et heure formatées : {formatted}")
Codes de formatage courants
Le module datetime prend en charge de nombreux codes de formatage :
- %Y — Année (4 chiffres), ex : 2025
- %m — Mois (avec zéro initial), ex : 05
- %d — Jour du mois, ex : 09
- %H — Heures (format 24h), ex : 14
- %M — Minutes, ex : 30
- %S — Secondes, ex : 45
- %A — Nom complet du jour de la semaine, ex : vendredi
- %B — Nom complet du mois, ex : mai
Convertir une chaîne de caractères en date
Si vous avez une date sous forme de chaîne et que vous voulez la transformer en objet datetime, utilisez la méthode strptime() :
from datetime import datetime
date_string = "09-05-2025"
converted_date = datetime.strptime(date_string, "%d-%m-%Y")
print(f"Date après conversion : {converted_date}")
Opérations arithmétiques avec les dates
Calculer la différence entre deux dates
Le module datetime permet de calculer facilement le nombre de jours entre deux dates. Le résultat est un objet timedelta :
from datetime import date
date1 = date(2025,