{{tag>dev python temps date}} ====== Manipulation du temps en python ====== Plusieurs modules permettent de manipuler le temps en Python: * datetime * time * calendar ===== 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 ===== * https://domeu.blogspot.fr/2011/04/time-datetime-manipulation-du-temps-en.html * http://sametmax.com/manipuler-les-dates-et-les-durees-en-python/ * https://pynative.com/python-timestamp/