Maison > développement back-end > Tutoriel Python > [python] Comment convertir la date et l'heure dans différents fuseaux horaires sans utiliser pytz, dateutil

[python] Comment convertir la date et l'heure dans différents fuseaux horaires sans utiliser pytz, dateutil

Mary-Kate Olsen
Libérer: 2025-01-27 16:11:13
original
524 Les gens l'ont consulté

Pas besoin de pytz et dateutil, Python implémente nativement la conversion de date et d'heure dans différents fuseaux horaires

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 :

  1. Crée un objet datetime contenant des informations de fuseau horaire.
  2. Convertissez la date/heure dans le fuseau horaire cible à l'aide de la méthode astimezone.

Prérequis :

  • Python >= 3.6
  • tzdata (les systèmes Windows et certains environnements spéciaux peuvent devoir être installés)

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()'
Copier après la connexion

Si la sortie est un ensemble vide set(), vous devez installer tzdata :

pip install tzdata
Copier après la connexion

Étapes détaillées et exemples :

1. Créez un objet datetime contenant des informations de fuseau horaire :

  • Obtenez l'heure actuelle et spécifiez le fuseau horaire : Utilisez la méthode 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"))
Copier après la connexion
  • Spécifiez une date, une heure et un fuseau horaire spécifiques : Utilisez le constructeur datetime et spécifiez les paramètres tzinfo.
dt = datetime(2025, 1, 1, 0, 0, tzinfo=ZoneInfo("Europe/Istanbul"))
Copier après la connexion
  • Convertir à partir de l'horodatage UNIX : Utilisez la méthode datetime.fromtimestamp() et spécifiez le paramètre tz.
unix_time = 1675000000  # 示例UNIX时间戳
dt = datetime.fromtimestamp(unix_time, tz=ZoneInfo("UTC"))
Copier après la connexion

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"))
Copier après la connexion

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()}")
Copier après la connexion

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>
Copier après la connexion

[python] pytz, dateutil を使わずに異なるタイムゾーンの日時に変換する方法

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!

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