Date et heure en Python

Un chapitre très court.

Il peut être nécessaire, dans certains programmes, d'afficher ou utiliser la date et l'heure.

Pour cela, Python dispose de deux modules : datetime et time

Le module datetime

D'après la documentation : le module datetime fournit des classes permettant de manipuler la date et l'heure.

#!/usr/bin/env python3  
# -*- coding: utf-8 -*- 
# @author : YF
# @date : octobre 2022

# Importation de la classe datetime du module datetime
from datetime import datetime

#récupération de la date et de l'heure actuels
aujourd_hui = datetime.now()

# stockage de l'heure et de la date dans deux variables différentes
heure_actuelle = datetime.time(aujourd_hui)
print(heure_actuelle)                           
            # renvoie 21:04:56,046915

date_actuelle = datetime.date(aujourd_hui)
print(date_actuelle)                            
            # renvoie 2022-10-20 si on est le 20 octobre 2022

# formatage de l'affichage de l'heure
heure_actuelle_formatee = heure_actuelle.strftime("%H:%M:%S")   
print(heure_actuelle_formatee)
            # renvoie 21:04:56 si c'est l'heure du moment

# formatage de l'affichage de la date
date_actuelle_formatee = date_actuelle.strftime("%d/%m/%y")   
print(date_actuelle_formatee)
            # renvoie 20/10/22 si on est le 20 octobre 2022

date_actuelle_formatee2 = date_actuelle.strftime("%d %h %Y")  
print(date_actuelle_formatee2)
            # renvoie 20 oct 2022 si on est le 20 octobre 2022

Comprendre le programme :

  • Tout est dit dans les commentaires

Le module time

Ce module contient plusieurs méthodes. Nous n'en aborderons que quelques unes ici :

  • time() : qui renvoie de nombre de secondes écoulées depuis l'epoch. L'epoch est la date à partir de laquelle est mesuré le temps ; elle varie en fonction du système d'exploitation et, parfois, du logiciel. Python, tout comme, les systèmes Unix dont est issu Linux utilisent le 1er janvier 1970.
import time

# méthode time : renvoie le nombre de secondes depuis l'epoch
today = time.time()
print(today)
        # renvoie : 1667754767.3383539, le nombre de secondes depuis le 1er janvier 1970

# affichage de l'epoch
print(time.ctime(0))
        # renvoie : Thu Jan  1 01:00:00 1970
  • ctime() : qui va formater la date et l'heure en un format plus compréhensible que le nombre de secondes
import time

print(time.ctime())
        # renvoie : Sun Nov  6 18:12:47 2022 (dimanche 6 novembre 2022 18h 12min 47sec)
  • strftime() : méthode que nous avons déjà vue qui formate, là encore, la date et l'heure dans un format que l'on chosit en fonction des paramètres qui lui sont passés.
import time

# formatage  
print(time.strftime("%d %h %Y"))
print(time.strftime("%H:%M:%S"))
  • sleep() : qui permet d'interrompre le programme pendant un temps en secondes passé en paramètre.
import time

# effectuer une pause de 5 secondes
print((time.ctime()))
time.sleep(5)
print(time.ctime())
        # en comparant les deux heures renvoyées, on voit les 5 secondes de décalage

Comprendre le programme : A lire dans les commentaires.