Python time : tout ce qu’il faut savoir sur l’utilisation et les fonctions du module
Python time
est un module qui permet de manipuler des dates dans le langage de programmation. Ce module offre de nombreuses fonctions et utilise le temps Unix et les objets struct_time
.
Qu’est-ce que Python time
et comment utiliser ce module ?
Le module Python time
joue un rôle crucial dans la gestion des données temporelles en programmation. Ce module permet de réaliser diverses opérations, telles que l’affichage de l’heure actuelle, le formatage des données temporelles, et le calcul de durées lors de l’exécution de fonctions. Avant de pouvoir utiliser ces fonctionnalités, il est nécessaire d’importer le module time
en utilisant le mot-clé suivant :
import time
pythonEnsuite, vous pouvez utiliser différentes fonctions avec le module. Nous vous montrons les plus importantes dans les paragraphes suivants. Si vous cherchez une alternative à Python time
, utilisez Python datetime
.
- Sécurité des données
- Outils de collaboration intégrés
- Hébergement dans des data centers européens
time.time()
et la signification de l’heure Unix
La fonction time.time()
de Python s’appuie sur le concept du temps Unix, qui marque un instant précis dans le passé utilisé comme point de départ pour mesurer le temps dans un système. Pour Windows et de nombreux systèmes Unix, ce point de départ est le 1er janvier 1970 à 00:00:00 UTC. Le langage de programmation Python se base également sur ce moment. Ce calcul depuis cette date est communément désigné sous le terme de « temps écoulé depuis l’epoch ». La fonction time.time()
fournit le nombre total de secondes écoulées depuis ce moment initial des années 1970. Pour obtenir cette mesure, vous pouvez utiliser le code suivant :
import time
temps_passé = time.time()
print("Secondes écoulées depuis l’epoch : ", temps_passé)
pythonAu moment où nous avons écrit le texte, nous avons reçu ce résultat :
1716816325
pythontime.ctime()
: indiquer les dates de manière lisible
Étant donné que l’horodatage Unix seul n’est pas très pratique à utiliser, le module Python time
permet de l’utiliser comme fondement pour une représentation plus simple de la date. Cela vous permet de bénéficier de la précision de cette mesure du temps tout en obtenant un format de date plus lisible. La fonction adaptée pour cette conversion est time.ctime()
, qui transforme directement l’heure Unix en une date. Voici le code correspondant :
import time
temps_passé = 1716816325
temps_actuel = time.ctime(temps_passé)
print("Ceci est l’heure actuelle : ", temps_actuel)
pythonNotre sortie ressemble alors à ceci. L’heure locale est prise en compte :
Ceci est l’heure actuelle : Mon May 27 2024 15:25:25
pythonLa solution idéale pour travailler sur votre projet Web : avec Deploy Now de IONOS, déployez des sites et des applications via GitHub ! Vous profitez ainsi d’une infrastructure fiable à un prix avantageux.
time.sleep()
: planifier l’exécution d’un programme
Python time
peut toutefois faire bien plus que simplement afficher l’heure actuelle. Le module est également utilisé pour contrôler l’exécution d’un programme ou pour la retarder. La fonction correspondante s’appelle time.sleep()
et se présente ainsi :
import time
print("Ceci s’affiche immédiatement... ")
time.sleep(5)
print("...et ceci après 5 secondes.")
pythonLa sortie suivante s’affiche alors :
Ceci est affiché immédiatement…
...et ceci après 5 secondes.
pythonLa deuxième partie n’est affichée qu’après un délai de cinq secondes. Pour savoir à quoi sert Python time.sleep()
exactement, consultez notre article détaillé dans le Digital Guide.
Objets struct_time
pour Python time
De nombreuses fonctions du module Python time
s’appuient sur l’objet struct_time
comme base. Il est généralement utilisé comme paramètre ou valeur de retour et donne un tuple dont la valeur peut être indiquée par l’index ou l’attribut. Les attributs suivants entrent en ligne de compte :
Index | Attribut | Description | Valeurs possibles |
---|---|---|---|
0 | tm_year | Année | 0000, …, 2024, …, 9999 |
1 | tm_mon | Indication du mois | 1, 2, 3, …, 12 |
2 | tm_mday | Jour du mois | 1, 2, 3, 31 |
3 | tm_hour | Heure en heures | 0, 1, 2, …, 23 |
4 | tm_min | Heure en minutes | 0, 1, 2, …, 59 |
5 | tm_sec | Heure en secondes | 0, 1, 2, …, 60, 61 |
6 | tm_wday | Jour de la semaine | 0 (pour lundi), …, 6 (pour dimanche) |
7 | tm_yday | Jour dans une année | 1, 2, 3, …, 366 |
8 | tm_isdst | Heure d’été ou d’hiver | 0 (hiver), 1 (été) ou -1 (pas d’indication) |
time.localtime()
: lien entre struct_time
et le temps depuis l’epoch
La fonction time.localtime()
utilise un objet struct_time
basé sur l’heure Unix. Cela ressemble à ceci dans le code :
import time
indication_de_temps = time.time()
heure_actuelle = time.localtime(indication_de_temps)
print(heure_actuelle)
pythonLa sortie est la suivante :
time.struct_time(tm_year=2024, tm_mon=5, tm_day=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythonIl est également possible de choisir n’importe quelle valeur pour le paramètre localtime()
. Le code se présente alors comme suit :
import time
indication_de_temps = time.time()
heure_actuelle = time.localtime(1716816325)
print(heure_actuelle)
pythonLa sortie correspond à nouveau à l’exemple ci-dessus :
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythontime.mktime()
: l’équivalent de localtime()
La fonction time.mktime()
dans le module Python time
agit en effet comme la fonction inverse de localtime()
. Vous fournissez un objet struct_time
en paramètre, et la fonction renvoie le timbre horaire correspondant au nombre de secondes écoulées depuis l’epoch. Voici comment utiliser le code :
import time
indication_de_temps = time.mktime(local_time)
print(indication_de_temps)
pythonEn sortie, vous obtenez une valeur en secondes dans ce format :
1716816325
pythontime.gmtime()
: temps universel coordonné pour l’affichage
time.gmtime()
correspond en grande partie à time.localtime()
. L’objet struct_time
est toutefois renvoyé ici en temps universel coordonné. Voici le code :
import time
time_stamp = time.time()
heure_universelle = time.gmtime(time_stamp)
print(heure_universelle)
pythonVotre sortie avec cette fonction de Python time
diffère donc de l’exemple ci-dessus à quelques détails près :
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=13, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=0)
pythontime.asctime()
: objets struct_time
dans des chaînes de caractères
Vous pouvez utiliser time.asctime()
pour convertir un objet struct_time
en une chaîne Python (string). Cela pourrait par exemple ressembler à :
import time
heure = time.localtime()
indication_de_lecture = time.asctime(heure)
print(indication_de_lecture)
pythonVous obtenez ainsi directement la sortie :
Mon May 27 15:25:25 2024
pythontime.strftime()
: créer une chaîne de caractères avec Python time
Différentes variations sont possibles avec time.strftime()
. Vous utilisez ici différents codes de format pour représenter l’heure actuelle dans le format souhaité. Pour vous donner un aperçu des différents codes de format, nous vous présentons ici quelques-uns des plus importants :
- %Y : représente l’année au format 0001, …, 2024, …, 9999
- %m : représente le mois et utilise les chiffres de 01 (janvier) à 12 (décembre)
- %d : représente le jour du 01 du mois jusqu’au 31
- %H : représente l’heure dans le spectre de 00 à 23
- %M : représente les minutes et est représenté de 00 à 59
- %S : représente la seconde de 00 à 61
Dans le code, cela pourrait par exemple ressembler à ceci :
import time
heure = time.localtime()
indication_de_lecture = time.strftime("%d-%m-%Y, %H:%M:%S", heure)
print(indication_de_lecture)
pythonDans ce cas, la sortie serait la suivante :
27-05-2024, 15:25:25
pythontime.strptime()
: convertir des chaînes de caractères en objets struct_time
Il y a aussi une alternative à cela en Python time
: time.strptime()
utilise une chaîne de caractères pour sortir un objet struct_time
. Voici le code correspondant :
import time
heure = time.strptime(indication_lisible, "%d-%m-%Y, %H : %M:%S")
print(heure)
pythonNous obtenons alors à nouveau cette sortie :
time.struct_time(tm_year=2024, tm_mon=5, tm_mday=27, tm_hour=15, tm_min=25, tm_sec=25, tm_wday=0, tm_yday=148, tm_isdst=1)
pythonDans notre Digital Guide, nous proposons de nombreux autres articles sur ce langage de programmation très apprécié. Vous trouverez entre autres un tutoriel Python, un guide d’installation de Python et un article sur les opérateurs Python.