Conversion de chaînes de date et d'heure UTC en heures de date locales
Question :
Comment convertir un UTC chaîne datetime, stockée sous forme de chaîne dans Bigtable d'App Engine, dans une datetime au format correct de l'utilisateur final fuseau horaire ?
Réponse :
Pour convertir une chaîne datetime UTC en datetime dans le fuseau horaire correct de l'utilisateur, on peut utiliser la bibliothèque python-dateutil. Cette bibliothèque fournit des implémentations tzinfo au-dessus d'une base de données zoneinfo (Olson), permettant un référencement facile des règles de fuseau horaire par noms canoniques.
Implémentation :
from datetime import datetime from dateutil import tz # Hardcode zones: from_zone = tz.gettz('UTC') to_zone = tz.gettz('America/New_York') # Auto-detect zones: from_zone = tz.tzutc() to_zone = tz.tzlocal() # Create a datetime object from the UTC string utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S') # Convert the datetime object to UTC timezone utc = utc.replace(tzinfo=from_zone) # Convert the datetime object to the user's timezone local = utc.astimezone(to_zone)
Stockage recommandé pour le fuseau horaire Informations :
Par exemple, "-5:00" peut être converti en "America/New_York" en utilisant :
import pytz est = pytz.timezone("America/New_York") est_name = est.zone
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!