timestampinfo.fr
Outils & documentation

LA DOCUMENTATION DU TEMPS

Timestamp en Python

Convertir des secondes Unix en date UTC, puis revenir au timestamp sans ambiguïté de fuseau.

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:00

Obtenir les secondes Unix d’une date

date = datetime(2024, 4, 1, 12, 0, 0, tzinfo=timezone.utc)
print(date.timestamp())  # 1711972800.0

Convertir 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:00

Afficher l’heure de Paris

from zoneinfo import ZoneInfo

print(date.astimezone(ZoneInfo('Europe/Paris')).isoformat())
# 2024-04-01T14:00:00.123000+02:00

zoneinfo 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.

Références

Python — datetime · zoneinfo · perf_counter

Ouvrir le convertisseur