Gérer la date et l'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.
# -*- coding: utf-8 -*-
# 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
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.
# -*- coding: utf-8 -*-
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
# -*- coding: utf-8 -*-
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.
# -*- coding: utf-8 -*-
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.
# -*- coding: utf-8 -*-
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