Convertir un timestamp en date
Utilisez datetime.fromtimestamp() avec un fuseau explicite. Sans le paramètre tz, Python construit une date locale sans information de fuseau.
from datetime import datetime, timezone
ts = 1711972800
date = datetime.fromtimestamp(ts, tz=timezone.utc)
print(date.isoformat())
# 2024-04-01T12:00:00+00:00Obtenir les secondes Unix d’une date
date = datetime(2024, 4, 1, 12, 0, 0, tzinfo=timezone.utc)
print(date.timestamp()) # 1711972800.0Convertir des millisecondes sans flottants
Diviser par 1 000 suffit pour beaucoup d’usages. Pour garder une fraction exacte en microsecondes, séparez les secondes entières du reste.
from datetime import timedelta
ms = 1711972800123
seconds, remainder = divmod(ms, 1000)
date = datetime.fromtimestamp(seconds, timezone.utc)
date += timedelta(milliseconds=remainder)
print(date.isoformat())
# 2024-04-01T12:00:00.123000+00:00Afficher l’heure de Paris
from zoneinfo import ZoneInfo
print(date.astimezone(ZoneInfo('Europe/Paris')).isoformat())
# 2024-04-01T14:00:00.123000+02:00zoneinfo est disponible à partir de Python 3.9. Les données de fuseaux doivent être présentes sur le système, ou fournies par le paquet tzdata.
Pour une durée d’exécution, utilisez time.perf_counter(). L’horloge civile peut être corrigée pendant que votre programme tourne.