Maison > développement back-end > Tutoriel Python > Comment puis-je convertir des horodatages avec des décalages horaires en objets Datetime en Python ?

Comment puis-je convertir des horodatages avec des décalages horaires en objets Datetime en Python ?

Barbara Streisand
Libérer: 2024-11-26 10:03:10
original
959 Les gens l'ont consulté

How Can I Convert Timestamps with Time Offsets to Datetime Objects in Python?

Conversion d'horodatages avec décalages en objets Datetime à l'aide de strptime

En Python, la méthode strptime() constitue une option viable pour convertir des chaînes d'horodatage en objets datetime. Cependant, rencontrer une erreur lors de la tentative de gestion des décalages horaires peut souvent entraîner de la frustration. Cet article vise à faire la lumière sur ce problème spécifique et à fournir des solutions réalisables.

Lorsque vous traitez des horodatages qui incluent des décalages temporels, l'utilisation de %z dans la chaîne de format pour strptime() peut ne pas toujours donner le résultat souhaité. Cela vient du fait que la fonction time.strptime() sous-jacente ne prend pas en charge ce code de format particulier. Pour surmonter ce défi, envisagez d'explorer des approches alternatives :

  1. Ignorer le fuseau horaire lors de l'analyse :
    Si les informations de fuseau horaire ne sont pas cruciales pour votre application, analysez l'horodatage chaîne sans tenir compte du décalage est une solution simple. Pour y parvenir, tronquez simplement la chaîne d'heure pour supprimer le décalage avant d'invoquer strptime() :

    time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')
    Copier après la connexion
  2. Utilisez le module dateutil :
    Pour les situations lorsque vous avez besoin des détails du fuseau horaire, le module dateutil offre un outil précieux. Sa fonction parse() gère efficacement les fuseaux horaires, vous permettant d'obtenir l'objet datetime souhaité :

    from dateutil.parser import parse
    time_obj = parse(time_str)
    Copier après la connexion

    De plus, pour ceux qui utilisent Python 3.2 ou version ultérieure, %z peut être utilisé avec strptime(), à condition que le dernier les deux points dans l'entrée sont supprimés et le trait d'union avant %z est également éliminé :

    datetime.datetime.strptime(''.join(time_str.rsplit(':', 1)), '%Y-%m-%dT%H:%M:%S%z')
    Copier après la connexion

En tirant parti Ces solutions de contournement, vous pouvez convertir efficacement les horodatages avec décalages horaires en objets datetime en Python. Que vous accordiez la priorité à l'efficacité ou exigeiez la préservation des informations de fuseau horaire, ces solutions vous permettent d'atteindre les résultats souhaités.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal