Python Convertir Datetime en Epoch

Vaibhhav Khetarpal 30 janvier 2023
  1. Utilisez la méthode explicite pour convertir Datetime en Epoch en Python
  2. Utilisez la fonction timestamp() pour convertir la date et l’heure en époque en Python
  3. Utilisez la fonction strftime(format) pour convertir la date-heure en époque en Python
  4. Utilisez la fonction timegm pour convertir DateTime en Epoch en Python
Python Convertir Datetime en Epoch

La bibliothèque datetime peut être importée dans un programme Python. Il fournit des classes utilisées pour manipuler la date et l’heure dans le code Python.

L’époque est le point de départ de la mesure du temps écoulé, et sa valeur varie généralement et dépend de la plate-forme utilisée.

Ce didacticiel abordera différentes méthodes pour convertir une date/heure en une époque en Python.

Utilisez la méthode explicite pour convertir Datetime en Epoch en Python

Dans cette méthode, nous prenons la date actuelle et la soustrayons manuellement de la date de début puis la convertissons en secondes en utilisant la fonction total_seconds() et en l’affichant.

La date initiale ici est 1970/1/1.

Le code suivant utilise la méthode explicite pour convertir datetime en epoch en Python.

import datetime

ts = (
    datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)

Production:

1575158400.0

Utilisez la fonction timestamp() pour convertir la date et l’heure en époque en Python

Un horodatage est une série de caractères qui dicte la valeur du moment où un événement particulier s’est produit.

Python fournit une fonction timestamp(), qui peut être utilisée pour obtenir l’horodatage de datetime depuis l’époque.

Le code suivant utilise la fonction timestamp() pour convertir datetime en epoch en Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)

Production:

1575158400.0

C’est une méthode assez simple et nous fournit des résultats précis.

Notez que la fonction timestamp() ne fonctionne que sur Python 3.3+ et n’est pas applicable pour une utilisation dans les anciennes versions de Python.

Utilisez la fonction strftime(format) pour convertir la date-heure en époque en Python

La méthode strftime(format) permet de convertir un objet en chaîne en fonction du format spécifié par l’utilisateur.

Pour l’inverse de ce processus, la méthode strptime() est utilisée.

Le code suivant utilise la méthode strftime(format) pour convertir datetime en epoch en Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)

Production:

1575158400

strftime(format) peut ne pas toujours fournir la bonne solution. Cette méthode utilise la directive %s comme argument de strftime, ce que Python ne prend pas en charge. Cela pourrait fonctionner car Python transmet %s à la méthode strftime du système.

Cette méthode n’est pas la méthode la plus précise pour la conversion de la date-heure en époque. Il n’est pas recommandé d’utiliser cette méthode simplement parce qu’il existe des méthodes meilleures et plus précises.

Utilisez la fonction timegm pour convertir DateTime en Epoch en Python

La fonction timegm() prend une valeur de temps spécifique et renvoie sa valeur d’horodatage Unix correspondante. L’époque est considérée comme 1970 et le codage POSIX est supposé. Les fonctions time.gmtime() et timegm() sont l’inverse l’une de l’autre.

Les bibliothèques calendar et time doivent être importées dans le programme Python pour utiliser ces fonctions.

Le module calendar nous offre la possibilité de sortir des calendriers et quelques fonctions supplémentaires et utiles qui y sont liées.

Le code suivant utilise la fonction timegm() pour convertir le datetime en epoch.

import datetime
import calendar

d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))

Production:

1575158400
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Article connexe - Python DateTime