Conversion de fuseau horaire Python
La conversion de l'heure entre les fuseaux horaires est une tâche courante en Python. La bibliothèque datetime fournit les outils nécessaires pour faciliter ce processus.
Conversion vers un fuseau horaire différent
Pour convertir un objet datetime vers un fuseau horaire différent, utilisez astimezone() méthode. Cette méthode prend un objet fuseau horaire pytz comme argument et renvoie un nouvel objet datetime dans le fuseau horaire spécifié.
Par exemple, le code suivant convertit un objet datetime UTC en un objet datetime dans le fuseau horaire Amérique/Los_Angeles :
<code class="python">from datetime import datetime import pytz utc_dt = datetime(2023, 3, 8, 12, 0, 0, tzinfo=pytz.utc) la_dt = utc_dt.astimezone(pytz.timezone('America/Los_Angeles'))</code>
Conversion à partir d'un fuseau horaire différent
Pour convertir un objet datetime à partir d'un fuseau horaire différent, utilisez la méthode localize(). Cette méthode prend un objet fuseau horaire pytz et un objet datetime naïf (sans informations de fuseau horaire) comme arguments et renvoie un nouvel objet datetime dans le fuseau horaire spécifié.
Par exemple, le code suivant convertit un objet datetime en Amérique/ Fuseau horaire de Los_Angeles vers un objet datetime UTC :
<code class="python">from datetime import datetime import pytz la_dt = datetime(2023, 3, 8, 12, 0, 0, tzinfo=pytz.timezone('America/Los_Angeles')) utc_dt = la_dt.astimezone(pytz.utc)</code>
Gestion d'une heure inexistante
Lors de la conversion vers un fuseau horaire différent, il est possible de rencontrer une heure inexistante en raison aux changements d’heure d’été. La méthode localize() déclenche une exception NonExistentTimeError dans de tels cas. Pour gérer cette exception, utilisez les blocs try/sauf comme indiqué dans l'exemple fourni.
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!