"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment convertir des objets datetime Python en secondes ?

Comment convertir des objets datetime Python en secondes ?

Publié le 2024-11-06
Parcourir:973

How to Convert Python Datetime Objects to Seconds?

Conversion d'objets datetime en secondes en Python

Lorsque vous travaillez avec des objets datetime en Python, il devient souvent nécessaire de les convertir en secondes pour diverses à des fins analytiques. Cependant, la méthode toordinal() peut ne pas fournir le résultat souhaité, car elle ne fait la différence qu'entre les dates avec des jours distincts.

Pour convertir avec précision un objet datetime en secondes, en particulier pour la date spécifique du 1er janvier 1970, plusieurs options sont disponibles. Pour toutes les autres dates de début, vous devrez calculer le décalage horaire entre les deux dates.

Pour le 1er janvier 1970 :

  1. datetime.datetime.timestamp(): Cette méthode renvoie directement le nombre de secondes depuis l'époque Unix, qui correspond à 00:00:00 UTC le 1er janvier 1970.

    t = datetime.datetime(1970, 1, 1)
    seconds = t.timestamp()
  2. time.mktime(): La fonction time.mktime() peut également être utilisée pour convertir un objet datetime en secondes depuis l'époque Unix.

    import time
    t = datetime.datetime(1970, 1, 1)
    time_struct = t.timetuple()
    seconds = time.mktime(time_struct)

Pour toute autre date de début :

  1. timedelta.total_seconds (): La soustraction de deux objets datetime donne un objet timedelta. La méthode total_seconds() de timedelta fournit le nombre de secondes entre les deux dates.

    t = datetime.datetime(2009, 10, 21, 0, 0)
    starting_date = datetime.datetime(1970, 1, 1)
    seconds = (t - starting_date).total_seconds()

Il est important de noter que la date de début doit être spécifiée en UTC (temps universel coordonné) pour des résultats précis. Si votre datetime n'est pas en UTC, vous devrez la convertir ou attacher une classe tzinfo avec le décalage approprié.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3