Vous êtes sur la page 1sur 3

Gestion des dates en python

Certaines tâches programmées en python, comme la manipulation de données temporelles ou


l’automatiser des tâches liées au temps, nécessitent la gestion des dates. Python fournit le module
datetime qui offre une variété d’outils pour gérer les dates et les heures :

 La date est composée de trois valeurs : l'année, le mois et le jour.


 L’heure est composée de cinq valeurs : l'heure, les minutes, les secondes, les microsecondes
et le fuseau horaire.

I. Importation du module datetime :


Avant de commencer à travailler avec des dates, il faut importer le module datetime :
import datetime
Le module datetime fournit plusieurs classes pour représenter les dates et les heures :
 date
 time
 datetime
 timedelta

II. Création d'objets d'heure et de date:


La classe date est utilisée pour la création des dates spécifiques.
from datetime import date

# Création d'une date


ma_date = date(2023, 11, 4)
print(ma_date)

La classe time est utilisée pour la création des heures spécifiques.


from datetime import time

# Création d'une heure


mon_temps = time(14, 30, 59)
print(mon_temps)

La classe datetime est utilisée pour la création des objets combinés date-heure.
from datetime import datetime

# Création d'une date et heure


ma_date_et_heure = datetime(2023, 11, 4, 14, 30, 59)
print(ma_date_et_heure)

II. Extraction des composants d’une date


Le module datetime permet l'extraction de composants de la date et de l’heure : année, mois, jour,
heure, minute, etc.
# pour avoir la date et l’heure actuelle
now = datetime.now()
print(now)
# pour avoir la date actuelle
today = datetime.today()
print(today)

# pour extraire les composants d’une date :


now.year
now.month
now.day
now.hour
now.minute
now.second
now.microsecond

Le module datetime permet d'effectuer diverses opérations sur les dates, telles que l'addition et la
soustraction de jours, la comparaison de dates :
# rajouter ou déduire des jours
from datetime import timedelta
next_date = now + timedelta(days=4)
print(next_week)

# rajouter ou déduire des semaines


last_week = now + timedelta(weeks=-1)
print(next_week)

# rajouter ou déduire des mois ou des années


from dateutil.relativedelta import relativedelta
next_month = now + relativedelta(months=1)
print(next_month)

# comparer deux dates


date1 = datetime(2023, 5, 15)
date2 = datetime(2023, 6, 1)

if date1 < date2:


print("date1 est antérieure à date2")
else:
print("date2 est antérieure à date1")

# calculer la différence entre deux dates


date2 - date1
# ou
( date2 - date1).days

III. Formatage des dates :


Le module datetime permet aussi le formatage des dates
Vous pouvez formater les dates et heures en chaînes de caractères selon vos besoins en utilisant la
méthode strftime. Par exemple :
# Convertir une chaîne de caractère en une date
date_str = "2023-05-15 14:30:00"
date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(date_obj)

# Convertir une date en chaîne


date_str = now.strftime("%Y-%m-%d")
print(date_str)

# Formater une date pour avoir le nom du jour et du mois


formatted_date = now.strftime("%A %d %B %Y")
print(formatted_date)

Sur le site https://strftime.org/, on peut trouver une liste complète des codes de formatage
disponibles et des exemples pour chaque code. Cela facilite la création de chaînes de formatage
personnalisées.

Vous aimerez peut-être aussi