Maîtriser le module time de Python : Fonctions, structures et exemples pratiques
Module time de Python
Explorez le module standard time en Python, apprenez ses fonctions de base et voyez des exemples clairs démontrant une utilisation réelle.
Le module time de Python fournit des outils pour travailler avec les timestamps, la planification et la mesure du temps écoulé. Avant d'utiliser toute fonction, importez le module :
import time
time.time()
La fonction time() renvoie l'heure actuelle en secondes depuis l'époque Unix (00:00:00 UTC le 1er janvier 1970). Sur les systèmes de type Unix, cette valeur d'époque est fixe ; sur Windows, elle est dérivée du même point.
import time
seconds = time.time()
print("Secondes depuis l'époque =", seconds)
time.ctime()
Convertit un timestamp POSIX (secondes depuis l'époque) en une chaîne lisible dans le fuseau horaire local.
import time
seconds = 1545925769.9618232
local_time = time.ctime(seconds)
print("Heure locale :", local_time)
Sortie typique :
Heure locale : Thu Dec 27 15:49:29 2018
time.sleep()
Retarde l'exécution du thread actuel pendant le nombre de secondes spécifié.
import time
print("Ceci est affiché immédiatement.")
time.sleep(2.4)
print("Ceci est affiché après 2,4 secondes.")
Pour plus de détails, consultez la documentation Python sleep().
Classe time.struct_time
Des fonctions comme gmtime() et asctime() renvoient ou acceptent un objet time.struct_time, un tuple à 9 éléments représentant un temps calendaire.
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=6, tm_min=35, tm_sec=17, tm_wday=3, tm_yday=361, tm_isdst=0)
| Index | Attribut | Valeurs |
|---|---|---|
| 0 | tm_year | 0000 … 9999 |
| 1 | tm_mon | 1 … 12 |
| 2 | tm_mday | 1 … 31 |
| 3 | tm_hour | 0 … 23 |
| 4 | tm_min | 0 … 59 |
| 5 | tm_sec | 0 … 61 |
| 6 | tm_wday | 0 (Lun) … 6 (Dim) |
| 7 | tm_yday | 1 … 366 |
| 8 | tm_isdst | 0, 1 ou -1 |
Vous pouvez accéder aux éléments soit par index, soit par nom d'attribut.
time.localtime()
Convertit un timestamp POSIX en un struct_time exprimé dans le fuseau horaire local. Si l'argument est omis, l'heure actuelle est utilisée.
import time
result = time.localtime(1545925769)
print("result:", result)
print("\nannée:", result.tm_year)
print("tm_hour:", result.tm_hour)
Sortie typique :
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) année: 2018 tm_hour: 15
time.gmtime()
Identique à localtime() mais renvoie l'heure UTC (GMT). L'argument omis par défaut à la valeur d'époque actuelle.
import time
result = time.gmtime(1545925769)
print("result:", result)
print("\nannée:", result.tm_year)
print("tm_hour:", result.tm_hour)
Sortie typique :
result: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=28, tm_hour=8, tm_min=44, tm_sec=4, tm_wday=4, tm_yday=362, tm_isdst=0) année: 2018 tm_hour: 8
time.mktime()
Convertit un struct_time local (ou son tuple à 9 éléments) en un timestamp POSIX. C'est effectivement l'inverse de localtime().
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
local_time = time.mktime(t)
print("Heure locale :", local_time)
Exemple montrant l'aller-retour :
import time
seconds = 1545925769
t = time.localtime(seconds)
print("t1:", t)
s = time.mktime(t)
print("\ns:", s)
Sortie typique :
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
time.asctime()
Formate un struct_time (ou un tuple) en une chaîne lisible par l'homme.
import time
t = (2018, 12, 28, 8, 44, 4, 4, 362, 0)
result = time.asctime(t)
print("Résultat :", result)
Sortie typique :
Résultat : Fri Dec 28 08:44:04 2018
time.strftime()
Formate un struct_time en une chaîne personnalisée basée sur des codes de format.
import time
named_tuple = time.localtime()
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Sortie typique :
12/28/2018, 09:47:41
Codes de format courants :
%Y– année complète (ex: 2018)%m– mois 01–12%d– jour 01–31%H– heure 00–23%M– minute 00–59%S– seconde 00–61 (secondes intercalaires)
Pour plus de codes de format, consultez la documentation time.strftime().
time.strptime()
Analyse une chaîne selon un format spécifié et renvoie un struct_time.
import time
time_string = "21 June, 2018"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Sortie typique :
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=172, tm_isdst=-1)
Python
- Mots-clés et identifiants Python : Maîtriser les mots réservés et les conventions de nommage
- Maîtriser les types de données Python : Guide pratique
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
- Modules Python : Création, importation et utilisation avancée
- Maîtriser les dictionnaires Python : création, manipulation et techniques avancées
- Expressions régulières Python (module re) — Guide pratique
- Récupérer la date et l'heure actuelles en Python : Guide pratique
- Python : Récupérer l'heure actuelle et les données de fuseau horaire facilement