Cet article explique comment utiliser le module datetime
et le module zoneinfo
dans Python 3.6 et supérieur, sans avoir besoin de bibliothèques tierces pytz
et dateutil
, pour convertir facilement la date et l'heure dans différents fuseaux horaires.
Méthodes de base : Utilisez la méthode datetime
de l'objet astimezone
.
Brèves étapes :
datetime
contenant des informations de fuseau horaire. astimezone
. Prérequis :
Vérifiez et installez tzdata :
Exécutez la commande suivante dans un terminal ou une invite de commande pour vérifier si le système dispose des données de fuseau horaire nécessaires :
python3 -c '__import__("zoneinfo").available_timezones()'
Si la sortie est un ensemble vide set()
, vous devez installer tzdata
:
pip install tzdata
Étapes détaillées et exemples :
1. Créez un objet datetime
contenant des informations de fuseau horaire :
datetime.now()
et spécifiez le paramètre tz
comme ZoneInfo("localtime")
pour obtenir l'heure locale. from datetime import datetime from zoneinfo import ZoneInfo dt = datetime.now(tz=ZoneInfo("localtime"))
datetime
et spécifiez les paramètres tzinfo
. dt = datetime(2025, 1, 1, 0, 0, tzinfo=ZoneInfo("Europe/Istanbul"))
datetime.fromtimestamp()
et spécifiez le paramètre tz
. unix_time = 1675000000 # 示例UNIX时间戳 dt = datetime.fromtimestamp(unix_time, tz=ZoneInfo("UTC"))
2. Utilisez la méthode astimezone
pour convertir le fuseau horaire :
Convertissez l'objet astimezone()
dans le fuseau horaire cible à l'aide de la méthode datetime
.
pst = dt.astimezone(ZoneInfo("US/Pacific"))
Exemple : Convertissez le 1er janvier 2025 à 0h00, heure d'Istanbul, Turquie, en heure standard du Pacifique (PST) aux États-Unis.
from datetime import datetime from zoneinfo import ZoneInfo tr = datetime(2025, 1, 1, 0, 0, tzinfo=ZoneInfo("Europe/Istanbul")) pst = tr.astimezone(ZoneInfo("US/Pacific")) print(f"Istanbul Time: {tr.isoformat()}") print(f"Pacific Standard Time: {pst.isoformat()}")
Le résultat est similaire à :
<code>Istanbul Time: 2025-01-01T00:00:00+03:00 Pacific Standard Time: 2024-12-31T13:00:00-08:00</code>
Grâce aux étapes ci-dessus, vous pouvez facilement utiliser les modules natifs Python pour effectuer la conversion de la date et de l'heure dans différents fuseaux horaires sans recourir à des bibliothèques tierces supplémentaires. N'oubliez pas de choisir la méthode appropriée de création de datetime
objets en fonction de vos besoins réels.
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!