Comment convertir l'heure UTC en date heure locale en Python à l'aide de la bibliothèque standard ?

Susan Sarandon
Libérer: 2024-11-03 06:00:04
original
652 Les gens l'ont consulté

How to Convert UTC Datetime to Local Datetime in Python Using the Standard Library?

Conversion d'une date/heure UTC en date-heure locale à l'aide de la bibliothèque standard

La conversion d'une instance de date-heure UTC en date-heure locale peut être effectuée à l'aide de la bibliothèque standard dans Python. Une solution courante consiste à utiliser la méthode astimezone, mais elle nécessite de fournir un objet timezone. Voici des approches alternatives utilisant uniquement la bibliothèque standard :

Python 3.3 :

<code class="python">from datetime import datetime, timezone

def utc_to_local(utc_dt):
    return utc_dt.replace(tzinfo=timezone.utc).astimezone(tz=None)</code>
Copier après la connexion

Python 2/3 :

<code class="python">import calendar
from datetime import datetime, timedelta

def utc_to_local(utc_dt):
    timestamp = calendar.timegm(utc_dt.timetuple())
    local_dt = datetime.fromtimestamp(timestamp)
    assert utc_dt.resolution >= timedelta(microseconds=1)
    return local_dt.replace(microsecond=utc_dt.microsecond)</code>
Copier après la connexion

Utilisation de pytz (Python 2/3) :

<code class="python">import pytz

local_tz = pytz.timezone('Europe/Moscow') # Provide your local timezone name

def utc_to_local(utc_dt):
    local_dt = utc_dt.replace(tzinfo=pytz.utc).astimezone(local_tz)
    return local_tz.normalize(local_dt)</code>
Copier après la connexion

Exemple :

<code class="python">def aslocaltimestr(utc_dt):
    return utc_to_local(utc_dt).strftime('%Y-%m-%d %H:%M:%S.%f %Z%z')

utc_dt = datetime(2010, 6, 6, 17, 29, 7, 730000)
print(aslocaltimestr(utc_dt))</code>
Copier après la connexion

Cela imprimera le fichier local chaîne datetime basée sur le fuseau horaire par défaut.

Remarque : Le fuseau horaire par défaut n'est pas toujours fiable et peut varier en fonction des paramètres du système. Pour des résultats plus fiables et multiplateformes, il est recommandé de spécifier explicitement le fuseau horaire local.

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