Maison  >  Article  >  développement back-end  >  Comment convertir avec précision des objets datetime Python en horodatages d'époque ?

Comment convertir avec précision des objets datetime Python en horodatages d'époque ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-17 09:34:03490parcourir

How to Accurately Convert Python Datetime Objects to Epoch Timestamps?

Conversion de Python Datetime en Epoch avec strftime

Lors de la conversion d'un objet datetime Python en nombre de secondes depuis l'époque à l'aide de strftime('% s'), vous pourriez rencontrer un résultat inattendu. Au lieu du nombre correct de secondes par rapport à l'époque, vous pouvez obtenir une valeur qui diffère d'une heure. En effet, strftime prend en compte le fuseau horaire du système et applique un décalage de fuseau horaire.

Solution :

Pour éviter ce problème et obtenir l'horodatage d'époque correct, plusieurs options sont disponibles :

Python 3.3 et Plus tard :

  • Utilisez la méthode timestamp() :

    >>> datetime.datetime(2012, 4, 1, 0, 0).timestamp()
    1333234800.0

Python 3.2 ou version antérieure :

  • Effectuer la conversion explicitement :

    >>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds()
    1333238400.0

Évitez d'utiliser strftime('%s') :

Il est important de noter que %s n'est pas officiellement pris en charge par la fonction strftime de Python. Sa fonctionnalité dépend de l'implémentation strftime du système, qui peut varier selon les différentes plates-formes et introduire des écarts de fuseau horaire. Par conséquent, il est recommandé d'utiliser les méthodes mentionnées ci-dessus pour des conversions précises d'horodatage d'époque.

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