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
python

Ensuite, 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.

Managed Nextcloud de IONOS Cloud
Travaillez en équipe dans votre propre Cloud
  • 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é)
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’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)
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 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.")
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() 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)
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 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)
python

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

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

1716816325
python

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

Vous obtenez ainsi directement la sortie :

Mon May 27 15:25:25 2024
python

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

Dans ce cas, la sortie serait la suivante :

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

time.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)
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 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.

Cet article vous a-t-il été utile ?
Aller au menu principal