Utiliser le module time

ghmesnil   23 mars 2016   Commentaires fermés sur Utiliser le module time

Ce module propose diverse méthodes et fonctions liés au temps.

reveil

Il existe deux représentations standards d’un instant.

  • la première est un nombre décimal (float) correspondant au temps écoulé entre l’instant donné et l’instant de référence où tout a commencé (c’est à dire au 1er janvier 1970). Cet instant de référence est appelé Epoch. La date exacte peut varier d’un ordinateur à l’autre. On peut néanmoins la retrouver à l’aide de l’instruction gmtime(0).
  • la deuxième est un tuple comportant neuf éléments dans l’ordre suivant :
    • année : entier à 4 chiffres
    • mois : entre 1 et 12
    • jour : entre 1 et 31
    • heure : entre 0 et 23
    • minute : entre 0 et 59
    • seconde : entre 0 et 59
    • jour du mois : entre 0 et 6 (0 correspondant à Lundi)
    • DST (Daylight Savings Time) : -1, 0 ou 1

Parmi les fonctions proposées dans ce module, nous retiendrons les suivantes :

La fonction time() retourne un nombre décimal correspondant au nombre de secondes depuis Epoch.

Essayez ce petit programme :

from time import *

maintenant=time()
print("Depuis le 1 janvier 1970, il s'est écoulé", maintenant, "secondes jusqu'à aujourd'hui.")

La fonction gmtime(instant_secondes) permet d’obtenir le tuple correspondant à la date instant_secondes exprimée en secondes. Pour effectuer l’opération inverse, on utilise la fonction mktime(instant_tuple)instant_tuple est la date donnée sous forme de tuple à neuf éléments. On peut alors obtenir les valeurs correspondant à l’année, le mois, le jour, l’heure, les minutes, les secondes, etc…

Complétez le programme comme suit ;

tuple_maintenant=gmtime(maintenant)
print(tuple_maintenant)
print('année',tuple_maintenant.tm_year)
print('mois',tuple_maintenant.tm_mon)
print('jour',tuple_maintenant.tm_mday)
print(mktime(tuple_maintenant)

La fonction ctime(instant) retourne la chaine de caractères indiquant la date correspondant au temps écoulé (en secondes) instant depuis Epoch.

Complétez le programme précédent avec ceci :

date_maintenant=ctime(maintenant)
print("Aujourd'hui, nous sommes le :",date_maintenant)

Remarquons que ctime() (sans argument) retourne la date actuelle.

La fonction sleep(nb_secondes) permet de suspendre l’exécution du programme pendant nb_secondes secondes.

Exemple :

print ("début : ",ctime())
sleep( 0.1 )
print ("premier arrêt : ",ctime())
sleep(5)
print ("deuxième arrêt : ",ctime())

Ou encore :

debut=time()
for i in range(10):
    print(i*0.1,"secondes d'attente")
    sleep(0.1*i)
fin=time()
temps_ecoule=fin-debut
print('temps écoulé :', temps_ecoule, 'secondes')

On trouvera des explications plus complètes sur ce module sur des documentations en ligne :

Exemples de programme utilisant le module time