{{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/