Table des matières

, , ,

Manipulation du temps en python

Plusieurs modules permettent de manipuler le temps en Python:

Module time

import time
help(time)

Le temps est représenté via le tuple time_struct:

now = time.gmtime()
type(now)
  time.struct_time
print(now)
  time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=9, tm_min=10, tm_sec=35, tm_wday=1, tm_yday=121, tm_isdst=0)

Pour convertir un temps en chaîne de caractères ascii, utiliser la fonction time.ascitime():

Calculer le temps écoulé entre 2 dates

Le module datetime permet de faire simplement cela:

import datetime
t1 = datetime.datetime(2017,04,22, 13,28,10)
t2 = datetime.datetime(2017,04,22, 13,29,14)
delta = t2 - t1
type(delta)
  datetime.timedelta
print(delta.total_seconds())

datetime(année, mois, jour, heure, minute, seconde, microseconde, fuseau horaire) datetime(2017, 04, 22, heure, minute, seconde, microseconde, fuseau horaire)

timestamp

import time
 
# La fonction time() retourne le timestamp courant en float 
timestamp = int(time.time())

Conversion d'une chaîne en objet datetime:

from datetime import datetime                                                                                                                                
 
aDateString = "25/12/2022 09:00:00"                                                                                                                          
aDateTime = datetime.strptime(aDateString, '%d/%m/%Y %H:%M:%S')
 
# obtenir le timsetamp correspondant à l'objet timedate
ts = int(aDateTime.timestamp())

Références