Heim  >  Artikel  >  Backend-Entwicklung  >  Umgang mit Zeitzonen in Python

Umgang mit Zeitzonen in Python

PHPz
PHPznach vorne
2023-08-19 14:41:131377Durchsuche

Umgang mit Zeitzonen in Python

Eine Zeitzone ist ein geografisches Gebiet, in dem alle Uhren auf die gleiche Standardzeit eingestellt sind, aber verschiedene Orte aufgrund politischer Entscheidungen, historischer Zeitzonenänderungen, Unterschiede in der Sommerzeit und anderer Faktoren unterschiedliche Zeitversätze aufweisen können. Das Datetime-Modul und die Pytz-Bibliothek von Python stellen eine Reihe von Klassen für die Arbeit mit Datumsangaben, Uhrzeiten und Zeitzonen bereit. Das Zeitzonenmanagement ist in der Softwareentwicklung sehr wichtig, da es die Genauigkeit der vom Programm bereitgestellten Ergebnisse beeinflusst. In diesem Artikel wird anhand von drei kommentierten Beispielen vorgestellt, wie Sie die Module datetime und pytz verwenden, um Zeitzonen in Python zu verwalten.

Installation

Sie müssen die Datetime- und Pytz-Module von Python verwenden, um Zeitzonen zu verwalten. Die Zeitzonenfunktionalität wird von der Paketbibliothek pytz eines Drittanbieters bereitgestellt, während das Modul datetime Klassen für die Handhabung von Datums- und Uhrzeitangaben bereitstellt.

pip install pytz
pip install datetime
  • Das datetime-Modul bietet mehrere Klassen für die Arbeit mit Datums- und Uhrzeitangaben. Die Hauptklassen sind date, tzinfo, timedelta, time und datetime.

  • Die Datetime-Klasse stellt ein bestimmtes Datum und eine bestimmte Uhrzeit dar und verfügt über mehrere Attribute, darunter Jahr, Monat, Tag, Stunde, Minute, Sekunde und Mikrosekunde.

  • Es gibt auch viele Methoden zur Verarbeitung von Datetime-Objekten in der Datetime-Klasse. Wir können die Funktion replace() verwenden, um die Eigenschaften eines oder mehrerer Datetime-Objekte zu ändern, während andere Eigenschaften davon unberührt bleiben.

  • Datetime-Objekte können mit der Funktion strftime() auf eine bestimmte Weise als Zeichenfolgen formatiert werden.

Syntax

Die timezone()-Funktion der pytz-Bibliothek kann zum Festlegen der Zeitzone in Python verwendet werden. Das datetime-Modul kann das von der timezone()-Funktion zurückgegebene Zeitzonenobjekt verwenden, das beispielsweise einen String akzeptiert, der den Namen der Zeitzone angibt. Wir können den folgenden Code verwenden, um die Zeitzone auf „US/Eastern“ festzulegen −

import pytz
from datetime import datetime
eastern = pytz.timezone('US/Eastern')
dt = datetime.now(eastern)

Die Datetime-Klasse bietet jedoch keine integrierte Unterstützung für Zeitzonen. Das Pytz-Modul stellt die Zeitzonenklasse bereit, die ein Zeitzonenobjekt darstellt. Ein Zeitzonenobjekt enthält Informationen über den Zeitzonenversatz, die Sommerzeit Zeitregeln und Zeitzonenname

Das pytz-Modul bietet außerdem mehrere Funktionen für die Arbeit mit Zeitzonen, einschließlich localize() und normalize(). Die Funktion localize() wird verwendet, um die Zeitzone für ein Datetime-Objekt festzulegen, während die Funktion normalize() verwendet wird wird verwendet, um ein Datetime-Objekt von einer Zeitzone in eine andere zu konvertieren

Algorithmus

  • Erstellen Sie Datum/Uhrzeit-Objekte, um die Zeit in einer bestimmten Zeitzone anzuzeigen

  • Verwenden Sie die Funktion „localize()“, um die Zeitzone festzulegen

    Ändern Sie die Zeitzone mit der Funktion astimezone()

  • Konvertieren Sie ein Datetime-Objekt in eine Zeichenfolge mit der Funktion strftime()

    für eine bestimmte Zeitzone
  • Einstellen der Zeitzone

    Erstellen Sie ein Zeitzonenobjekt mit der Funktion pytz.timezone() und weisen Sie es einer Variablen zu
Beispiel

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)

Ausgabe

2023-04-17 16:58:31.317459-04:00

Erstellen Sie mit

pytz.timezone()

ein Zeitzonenobjekt für die USA/Ost, erstellen Sie mit

datetime.now()

ein Datetime-Objekt für die aktuelle Zeit und legen Sie dann mit

localize() die Zeitzone für das Datetime-Objekt fest. Methode des Zeitzonenobjekts Zeit zwischen Zeitzonen umrechnen Mit datetime und pytz können wir die astimezone()-Methode des datetime-Objekts verwenden.

Beispiel

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)

Ausgabe

2023-04-17 13:58:41.599015-07:00

Erstellen Sie mit pytz ein Zeitzonenobjekt für USA/Ost. Erstellen Sie ein Datetime-Objekt der aktuellen Uhrzeit, indem Sie die Methode timezone() aufrufen. Verwenden Sie nach dem Aufruf von now() die Funktion

localise()

des Zeitzonenobjekts, um die Zeitzone des datetime-Objekts festzulegen.

Verwenden Sie

pytz.timezone(), um ein anderes Zeitzonenobjekt für USA/Pazifik zu instanziieren, und verwenden Sie die astimezone()-Methode des Datetime-Objekts, um das Datetime-Objekt in die pazifische Zeitzone zu konvertieren.

Formatieren Sie die Zeit mithilfe der Zeitzone

Die Formatierung wird mit der strftime()-Methode des datetime-Objekts einfacher.

Beispiel

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)

Ausgabe

2023-04-17 16:59:06 EDT-0400

Verwenden Sie die Funktion strftime() des datetime-Objekts. Die Formatzeichenfolge

'%Y-%m- %d%H:%M:%S%Z%z'

gibt das Jahr, den Monat, den Tag, die Stunde und die Minute an , und Sekunde, sowie die Zeitzonenabkürzung und den Zeitzonenversatz

Fazit

In diesem Artikel werden die Kernkonzepte und -praktiken der Arbeit mit Zeitzonen in Python vorgestellt. Nachdem die Bedeutung von Zeitzonen in der Programmierung erörtert wurde, wird erläutert, wie Zeitzonen in der Softwareentwicklung funktionieren. Anschließend werden die erforderlichen Bibliotheken und Pakete, einschließlich pytz und datetime, besprochen und Installationsanweisungen bereitgestellt. Anschließend wird vorgestellt, wie Zeitzonen in Python funktionieren, einschließlich der Festlegung von Zeitzonen, der Konvertierung der Zeit zwischen Zeitzonen und der Verwendung von Zeitzonen zur Formatierung der Zeit. Abschließend wird für jede Aufgabe Beispielcode bereitgestellt, zusammen mit Anleitungen zur Lösung häufiger Python-Zeitzonenprobleme.

Das obige ist der detaillierte Inhalt vonUmgang mit Zeitzonen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen

In Verbindung stehende Artikel

Mehr sehen