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 :
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')
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)
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')
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!