CodeGym /Cours /Python SELF FR /Utilisation du module datetime

Utilisation du module datetime

Python SELF FR
Niveau 39 , Leçon 1
Disponible

1. Obtenir la date et l'heure actuelles

Pourquoi c'est utile ?

Comme on le sait, le temps, c'est de l'argent. Et en programmation, il s'agit aussi de contrôle, de planification et d'automatisation. Par exemple, si tu veux exécuter une tâche à un moment précis ou enregistrer des logs, il te faut savoir que les horloges tournent, et comment interagir avec elles.

Les bases de datetime

Alors, imaginons qu'on commence à bosser avec la bibliothèque datetime. Contrairement à la conception d'un vaisseau spatial, c'est ultra simple ! Commençons par obtenir la date et l'heure actuelles :

Python

from datetime import datetime

# Obtenir la date et l'heure actuelles
now = datetime.now()
print("Date et heure actuelles :", now)

Ce code dit "Hé, datetime, dis-moi quelle heure il est maintenant !" Et ce qui est super cool, c'est que now() retourne un objet datetime, qui contient toutes les infos sur le moment actuel. Oui, un peu comme un prof qui sait tout instantanément.

Heure locale et heure universelle (UTC)

Ah, UTC — l'heure universelle, qui nous unit tous sans ces fuseaux horaires compliqués. Si tu veux connaître l'heure exacte sur Mars (ou presque), alors UTC est ton ami. Et voici comment l'obtenir :

Python

# Obtenir l'heure actuelle au format UTC
now_utc = datetime.utcnow()
print("Date et heure actuelles en UTC :", now_utc)

Tu te demandes peut-être la différence ? L'heure locale prend en compte ton fuseau horaire, tandis que UTC correspond à l'heure de Greenwich, indépendante de la localisation géographique.

Extraction des éléments de la date et de l'heure

Parfois, on n'a pas besoin de la date entière, mais seulement de certaines parties. C'est comme commander une pizza et ne manger que le fromage — pas toujours logique, mais parfois nécessaire :

Python

# Extraction des différentes parties de la date et de l'heure
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
second = now.second

print(f"Il est actuellement {hour}:{minute}:{second} le {day}.{month}.{year}")

De cette façon, on peut manipuler individuellement les éléments de la date et de l'heure, par exemple pour souhaiter un joyeux anniversaire à un collègue (mais seulement s'il te le rappelle).

Exemples d'utilisation de la date et de l'heure actuelles

Une autre situation, c'est quand tu dois programmer des événements qui se produisent à différents moments. Par exemple, créons un script tout simple qui souhaite à tout le monde un joyeux vendredi (parce que qui n'aime pas le vendredi ?).

Python

# Exemple d'utilisation de la date actuelle pour un rappel quotidien
if now.weekday() == 4:  # Vendredi
    print("Hourra ! C'est vendredi, on peut se détendre !")
else:
    print("Patiente un peu, vendredi arrive bientôt.")

Ce code utilise la méthode weekday(), qui retourne un chiffre de 0 à 6 (où 0 = lundi et 6 = dimanche), pour vérifier quel jour tu es et te prévenir de l'arrivée imminente du week-end.

2. Travailler avec des objets datetime

On a besoin de gérer non seulement le moment présent, mais aussi de savoir comment passer d'un moment à un autre pour des opérations ou des comparaisons. Par exemple, comment calculer ton retard à un rendez-vous ?

Python

# Exemple de calcul de la différence entre deux moments
from datetime import timedelta

# Création d'une date dans le passé
past_date = datetime(2023, 1, 1, 10, 0, 0)

# Calcul de la différence entre l'heure actuelle et le passé
difference = now - past_date
print(f"Depuis ce jour mémorable, il s'est écoulé {difference.days} jours et {difference.seconds // 3600} heures.")

Ici, on crée une date passée et on la compare au moment actuel. Combien de jours se sont écoulés depuis le Nouvel An ? Maintenant tu sais !

3. Travailler avec les fuseaux horaires

Pour manipuler les fuseaux horaires avec datetime, on utilise la bibliothèque pytz, qui permet de convertir la date et l'heure dans le fuseau horaire désiré.

Exemple d'utilisation de pytz

Python

from datetime import datetime
import pytz

# Obtenir la date et l'heure actuelles en UTC
utc_now = datetime.now(pytz.utc)
print("Date et heure actuelles (UTC):", utc_now)

# Conversion dans un autre fuseau horaire (par exemple US/Pacific)
pacific_now = utc_now.astimezone(pytz.timezone("US/Pacific"))
print("Date et heure actuelles (Pacific Time):", pacific_now)

Résultat :


Date et heure actuelles (UTC): 2024-11-04 14:53:27.123456+00:00
Date et heure actuelles (Pacific Time): 2024-11-04 06:53:27.123456-08:00
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION