Python time est un module qui permet de manipuler des dates dans le langage de pro­gram­ma­tion. Ce module offre de nom­breuses 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 tem­po­relles en pro­gram­ma­tion. Ce module permet de réaliser diverses opé­ra­tions, telles que l’affichage de l’heure actuelle, le formatage des données tem­po­relles, et le calcul de durées lors de l’exécution de fonctions. Avant de pouvoir utiliser ces fonc­tion­na­li­tés, il est né­ces­saire d’importer le module time en utilisant le mot-clé suivant :

import time
python

Ensuite, vous pouvez utiliser dif­fé­rentes fonctions avec le module. Nous vous montrons les plus im­por­tantes dans les pa­ra­graphes suivants. Si vous cherchez une al­ter­na­tive à Python time, utilisez Python datetime.

Managed Nextcloud de IONOS Cloud
Tra­vail­lez en équipe dans votre propre Cloud
  • Sécurité des données
  • Outils de col­la­bo­ra­tion intégrés
  • Hé­ber­ge­ment dans des data centers européens

time.time() et la sig­ni­fi­ca­tion 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 pro­gram­ma­tion Python se base également sur ce moment. Ce calcul depuis cette date est com­mu­né­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é)
python

Au moment où nous avons écrit le texte, nous avons reçu ce résultat :

1716816325
python

time.ctime() : indiquer les dates de manière lisible

Étant donné que l’ho­ro­da­tage Unix seul n’est pas très pratique à utiliser, le module Python time permet de l’utiliser comme fondement pour une re­pré­sen­ta­tion plus simple de la date. Cela vous permet de bé­né­fi­cier de la précision de cette mesure du temps tout en obtenant un format de date plus lisible. La fonction adaptée pour cette con­ver­sion est time.ctime(), qui trans­forme di­rec­te­ment l’heure Unix en une date. Voici le code cor­res­pon­dant :

import time
temps_passé = 1716816325
temps_actuel = time.ctime(temps_passé)
print("Ceci est l’heure actuelle : ", temps_actuel)
python

Notre sortie ressemble alors à ceci. L’heure locale est prise en compte :

Ceci est l’heure actuelle : Mon May 27 2024 15:25:25
python
Conseil

La solution idéale pour tra­vail­ler sur votre projet Web : avec Deploy Now de IONOS, déployez des sites et des ap­pli­ca­tions via GitHub ! Vous profitez ainsi d’une in­fras­truc­ture fiable à un prix avan­ta­geux.

time.sleep() : planifier l’exécution d’un programme

Python time peut toutefois faire bien plus que sim­ple­ment afficher l’heure actuelle. Le module est également utilisé pour contrôler l’exécution d’un programme ou pour la retarder. La fonction cor­res­pon­dante 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.")
python

La sortie suivante s’affiche alors :

Ceci est affiché immédiatement…
...et ceci après 5 secondes.
python

La deuxième partie n’est affichée qu’après un délai de cinq secondes. Pour savoir à quoi sert Python time.sleep() exac­te­ment, consultez notre article détaillé dans le Digital Guide.

Objets struct_time pour Python time

De nom­breuses fonctions du module Python time s’appuient sur l’objet struct_time comme base. Il est gé­né­ra­le­ment 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 Des­crip­tion Valeurs possibles
0 tm_year Année 0000, …, 2024, …, 9999
1 tm_mon In­di­ca­tion 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’in­di­ca­tion)

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)
python

La 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)
python

Il 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)
python

La sortie cor­res­pond à 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)
python

time.mktime() : l’équi­valent de localtime()

La fonction time.mktime() dans le module Python time agit en effet comme la fonction inverse de localtime(). Vous four­nis­sez un objet struct_time en paramètre, et la fonction renvoie le timbre horaire cor­res­pon­dant 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)
python

En sortie, vous obtenez une valeur en secondes dans ce format :

1716816325
python

time.gmtime() : temps universel coordonné pour l’affichage

time.gmtime() cor­res­pond 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)
python

Votre 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)
python

time.asctime() : objets struct_time dans des chaînes de ca­rac­tères

Vous pouvez utiliser time.asctime() pour convertir un objet struct_time en une chaîne Python (string). Cela pourrait par exemple res­sem­bler à :

import time
heure = time.localtime()
indication_de_lecture = time.asctime(heure)
print(indication_de_lecture)
python

Vous obtenez ainsi di­rec­te­ment la sortie :

Mon May 27 15:25:25 2024
python

time.strftime() : créer une chaîne de ca­rac­tères avec Python time

Dif­fé­rentes va­ria­tions sont possibles avec time.strftime(). Vous utilisez ici dif­fé­rents codes de format pour re­pré­sen­ter l’heure actuelle dans le format souhaité. Pour vous donner un aperçu des dif­fé­rents codes de format, nous vous pré­sen­tons ici quelques-uns des plus im­por­tants :

  • %Y : re­pré­sente l’année au format 0001, …, 2024, …, 9999
  • %m : re­pré­sente le mois et utilise les chiffres de 01 (janvier) à 12 (décembre)
  • %d : re­pré­sente le jour du 01 du mois jusqu’au 31
  • %H : re­pré­sente l’heure dans le spectre de 00 à 23
  • %M : re­pré­sente les minutes et est re­pré­senté de 00 à 59
  • %S : re­pré­sente la seconde de 00 à 61

Dans le code, cela pourrait par exemple res­sem­bler à ceci :

import time
heure = time.localtime()
indication_de_lecture = time.strftime("%d-%m-%Y, %H:%M:%S", heure)
print(indication_de_lecture)
python

Dans ce cas, la sortie serait la suivante :

27-05-2024, 15:25:25
python

time.strptime() : convertir des chaînes de ca­rac­tères en objets struct_time

Il y a aussi une al­ter­na­tive à cela en Python time : time.strptime() utilise une chaîne de ca­rac­tères pour sortir un objet struct_time. Voici le code cor­res­pon­dant :

import time
heure = time.strptime(indication_lisible, "%d-%m-%Y, %H : %M:%S")
print(heure)
python

Nous 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)
python
Conseil

Dans notre Digital Guide, nous proposons de nombreux autres articles sur ce langage de pro­gram­ma­tion très apprécié. Vous trouverez entre autres un tutoriel Python, un guide d’ins­tal­la­tion de Python et un article sur les opé­ra­teurs Python.

Aller au menu principal