Maison  >  Article  >  développement back-end  >  Comment convertir des objets datetime Python en secondes écoulées depuis une date spécifique ?

Comment convertir des objets datetime Python en secondes écoulées depuis une date spécifique ?

DDD
DDDoriginal
2024-10-26 22:27:03200parcourir

How to Convert Python datetime Objects to Seconds Elapsed Since a Specific Date?

Conversion d'objets datetime en secondes en Python

En Python, calculer les secondes écoulées depuis une heure fixe dans le passé pour un objet datetime donné est une exigence courante. Pour déterminer avec précision cette durée, quelques approches différentes peuvent être utilisées.

Cas particulier : 1er janvier 1970

Pour un objet datetime représentant le 1er janvier 1970, il y a existe des méthodes alternatives disponibles pour la conversion en secondes :

  • t.timestamp() : renvoie le nombre de secondes depuis l'époque (1er janvier 1970) au format à virgule flottante.
  • (t - datetime(1970, 1, 1)).total_seconds() : Ceci calcule la différence entre l'objet datetime donné et l'époque en tant qu'objet timedelta et la convertit en secondes.

Cas général : Toute date de début

Pour une date de début autre que le 1er janvier 1970, les étapes suivantes sont nécessaires :

  1. Obtenir la différence entre l'objet datetime donné et la date de début souhaitée. Cela donne un objet timedelta.
  2. Utilisez la méthode total_seconds() de l'objet timedelta pour le convertir en nombre de secondes.

Voici un exemple :

import datetime
t = datetime.datetime(2009, 10, 21, 0, 0)
start_date = datetime.datetime(1985, 1, 1, 0, 0)
seconds_elapsed = (t - start_date).total_seconds()

Considérations UTC

Lors de l'exécution de ces opérations, il est important de s'assurer que la date de début et l'objet datetime donné sont en UTC (temps universel coordonné). Si ce n’est pas le cas, la conversion risque de ne pas être exacte. Si nécessaire, convertissez les objets datetime en UTC à l'aide des attributs tzinfo.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn