import time
L'epoch unix est une date de reference (1er janvier 1970 à 00:00:00.). La fonction time() mesure le "timestamp" ou temps en secondes depuis cette référence.
>>> import time
>>> t = time.time()
>>> t
1458557173.523102
La fonction localtime() renvoie la date et l'heure de votre méridien dans une tuple (liste non modifiable).
>>> import time
>>> t = time.localtime()
>>> t
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=21, tm_hour=10, tm_min=48, tm_sec=0, tm_wday=0, tm_yday=81, tm_isdst=0)
Pour extraire seulement le jour de cette tuple::
>>> jour = t[2]
>>> jour
21
Utilisez la fonction gmtime() qui fonctionne de la même façon que localtime().
Ici (à Dakar) il n'y a pas de différence entre l'heure locale et l'heure de référence de Greenwich.
>>> import time
>>> t1 = time.strftime("%A %d %B %Y %H:%M:%S")
>>> t1
'Monday 21 March 2016 10:58:41'
>>> t2 = time.strftime("%H:%M:%S")
>>> t2
'10:59:12'
>>> t3 = time.strftime("%A %d %B %Y")
>>> t3
'Monday 21 March 2016'
On mesure ci-dessous le temps d'exécution de la boucle while. (C'est un exemple, on pourrait mesurer le temps d'exécution de n'importe quelle fonction)
import time
t0 = time.time()
x = 0
while x < 10000:
x = x + 1
tf = time.time()
dt = tf-t0
Résultat:
>>> t0
1458558487.016829
>>> tf
1458558487.020353
>>> dt
0.0035240650177001953
L'exécution de la boucle a duré 0.0035240650177001953 secondes.
On mesure toujours le temps d'exécution de la boucle while, mais on utilise cette fois la fonction clock() qui est plus précise.
import time
t0 = time.clock()
x = 0
while x < 10000:
x = x + 1
tf = time.clock()
dt = tf-t0
Résultats:
>>> t0
36.446733
>>> tf
36.456447
>>> dt
0.009713999999995337
Il faut pour cela utiliser la fonction mktime()
>>> import time
>>> l = time.localtime()
>>> g = time.gmtime()
>>> l
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=21, tm_hour=18, tm_min=16, tm_sec=50, tm_wday=0, tm_yday=81, tm_isdst=0)
>>> g
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=21, tm_hour=18, tm_min=17, tm_sec=0, tm_wday=0, tm_yday=81, tm_isdst=0)
>>> time.mktime(l)
1458584210.0
>>> time.mktime(g)
1458584220.0
On utilise pour cela la fonction asctime().
>>> import time
>>> x = time.asctime()
>>> x
'Mon Mar 21 18:56:25 2016'
>>> type(x)
<type 'str'>
Ou en gmtime():
>>> import time
>>> g = time.gmtime()
>>> x = time.asctime(g)
>>> x
'Mon Mar 21 18:58:21 2016'
On utilise pour cela la fonction strptime()
>>> import time
>>> x = time.asctime()
>>> x
'Tue Mar 22 14:37:23 2016'
>>> k = time.strptime(x)
>>> k
time.struct_time(tm_year=2016, tm_mon=3, tm_mday=22, tm_hour=14, tm_min=37, tm_sec=23, tm_wday=1, tm_yday=82, tm_isdst=-1)
Pour convertir juste l'heure:
>>> import time
>>> z = '12:32:45'
>>> j = time.strptime(z,'%H:%M:%S')
>>> j
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=32, tm_sec=45, tm_wday=0, tm_yday=1, tm_isdst=-1)