Maison > développement back-end > Tutoriel Python > Gestion des fuseaux horaires en Python

Gestion des fuseaux horaires en Python

PHPz
Libérer: 2023-08-19 14:41:13
avant
1424 Les gens l'ont consulté

Gestion des fuseaux horaires en Python

Un fuseau horaire est une zone géographique où toutes les horloges sont réglées à la même heure standard, mais différents emplacements peuvent avoir des décalages horaires différents en raison de choix politiques, de changements de fuseau horaire historiques, de différences d'heure d'été et d'autres facteurs. Le module datetime et la bibliothèque pytz de Python fournissent un ensemble de classes permettant de travailler respectivement avec les dates, les heures et les fuseaux horaires. La gestion des fuseaux horaires dans le développement de logiciels est très importante car elle affecte l'exactitude des résultats fournis par le programme. Cet article présentera comment utiliser les modules datetime et pytz pour gérer les fuseaux horaires en Python à travers trois exemples annotés.

Installation

Doit utiliser les modules datetime et pytz de Python pour gérer les fuseaux horaires. La fonctionnalité de fuseau horaire est fournie par la bibliothèque pytz du package tiers, tandis que le module datetime fournit des classes pour gérer les dates et les heures.

pip install pytz
pip install datetime
Copier après la connexion
  • Le module datetime propose plusieurs classes pour travailler avec les dates et les heures. Les classes principales sont date, tzinfo, timedelta, time et datetime.

  • La classe datetime représente une date et une heure spécifiques et possède plusieurs attributs, notamment année, mois, jour, heure, minute, seconde et microseconde.

  • Il existe également de nombreuses méthodes pour traiter les objets datetime dans la classe datetime. Nous pouvons utiliser la fonction replace() pour modifier les caractéristiques d'un ou plusieurs objets datetime tout en laissant les autres caractéristiques inchangées.

  • Les objets Datetime peuvent être formatés sous forme de chaînes d'une manière spécifiée à l'aide de la fonction strftime().

Syntaxe

La fonction timezone() de la bibliothèque pytz peut être utilisée pour définir le fuseau horaire en Python. Le module datetime peut utiliser l'objet timezone renvoyé par la fonction timezone(), qui accepte une chaîne spécifiant le nom du fuseau horaire. nous pouvons utiliser le code suivant pour définir le fuseau horaire sur "US/Eastern" −

import pytz
from datetime import datetime
eastern = pytz.timezone('US/Eastern')
dt = datetime.now(eastern)
Copier après la connexion

Cependant, la classe datetime ne fournit pas de prise en charge intégrée des fuseaux horaires. C'est là qu'intervient la bibliothèque pytz. Le module pytz fournit la classe timezone, qui représente un objet timezone contient des informations sur le décalage horaire et l'heure d'été. règles horaires et nom du fuseau horaire

.

Le module pytz fournit également plusieurs fonctions pour travailler avec les fuseaux horaires, notamment localize() et normalize(). La fonction localize() est utilisée pour définir le fuseau horaire d'un objet datetime, tandis que la fonction normalize() est utilisé pour convertir un objet datetime d'un fuseau horaire à un autre

.

Algorithme

  • Créez des objets datetime pour afficher l'heure dans un fuseau horaire spécifique

  • Utilisez la fonction localize() pour définir le fuseau horaire

  • Changez le fuseau horaire avec la fonction astimezone()

  • Convertissez un objet datetime en chaîne à l'aide de la fonction strftime() pour un fuseau horaire spécifique

Réglage du fuseau horaire

Créez un objet fuseau horaire à l'aide de la fonction pytz.timezone() et attribuez-le à une variable

Exemple

import pytz
from datetime import datetime

# Create a timezone object for US/Eastern
eastern_tz = pytz.timezone('US/Eastern')
now = datetime.now()
now_eastern = eastern_tz.localize(now)
print(now_eastern)
Copier après la connexion

Sortie

2023-04-17 16:58:31.317459-04:00
Copier après la connexion

Créez un objet fuseau horaire pour les États-Unis/Est à l'aide de pytz.timezone(), créez un objet datetime pour l'heure actuelle à l'aide de datetime.now(), puis définissez le fuseau horaire de l'objet datetime à l'aide de localize() méthode de l'objet fuseau horaire

Conversion du temps entre les fuseaux horaires

En utilisant datetime et pytz, nous pouvons utiliser la méthode astimezone() de l'objet datetime.

Exemple

import pytz
from datetime import datetime

# Create a timezone object for US/Eastern
eastern_tz = pytz.timezone('US/Eastern')
now = datetime.now()
now_eastern = eastern_tz.localize(now)

# Convert the datetime object to Pacific timezone
pacific_tz = pytz.timezone('US/Pacific')
now_pacific = now_eastern.astimezone(pacific_tz)
print(now_pacific)
Copier après la connexion

Sortie

2023-04-17 13:58:41.599015-07:00
Copier après la connexion

À l'aide de pytz, créez un objet de fuseau horaire pour les États-Unis/Est. Créez un objet datetime de l'heure actuelle en appelant la méthode timezone(). Après avoir appelé now(), utilisez la fonction localise() de l'objet fuseau horaire pour définir le fuseau horaire de l'objet datetime.

Utilisez pytz.timezone() pour instancier un autre objet de fuseau horaire pour les États-Unis/Pacifique et utilisez la méthode astimezone() de l'objet datetime pour convertir l'objet datetime dans le fuseau horaire du Pacifique.

Formater l'heure en utilisant le fuseau horaire

Le formatage devient plus facile avec la méthode strftime() de l'objet datetime.

Exemple

import pytz
from datetime import datetime

# Create a timezone object for US/Eastern
eastern_tz = pytz.timezone('US/Eastern')
now = datetime.now()
now_eastern = eastern_tz.localize(now)

# Add formatting
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
now_str = now_eastern.strftime(fmt)
print(now_str)
Copier après la connexion

Sortie

2023-04-17 16:59:06 EDT-0400
Copier après la connexion

Utilisez la fonction strftime() de l'objet datetime. La chaîne de format '%Y-%m- %d%H:%M:%S%Z%z' donne l'année, le mois, le jour, l'heure, la minute. , et deuxièmement, ainsi que l'abréviation du fuseau horaire et le décalage horaire

.

Conclusion

Cet article présente les concepts et pratiques de base liés à l'utilisation des fuseaux horaires en Python. Après avoir discuté de l'importance des fuseaux horaires dans la programmation, il explique comment les fuseaux horaires fonctionnent dans le développement de logiciels. Les bibliothèques et packages requis, y compris pytz et datetime, sont ensuite discutés et les instructions d'installation sont fournies. Ensuite, il présente le fonctionnement des fuseaux horaires en Python, notamment la définition des fuseaux horaires, la conversion de l'heure entre les fuseaux horaires et l'utilisation des fuseaux horaires pour formater l'heure. Enfin, un exemple de code pour chaque tâche est fourni, ainsi que des conseils sur la façon de résoudre les problèmes courants de fuseau horaire Python.

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:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal