目次
- 1 1. Grundkenntnisse, die Sie vor der Handhabung von Datum und Strings in Python kennen sollten
- 2 2. [Zeichenkette → Datum] Methode zum Erstellen eines Datumsobjekts mit strptime()
- 3 3. [Datum → String] Methode zur freien Formatkonvertierung mit strftime()
- 4 4. Techniken zur gegenseitigen Umwandlung mit dem ISO-8601-Format
- 4.1 Was ist das ISO-8601-Format?
- 4.2 isoformat() für die Konvertierung von Datum zu ISO-Format-String
- 4.3 fromisoformat() für die Konvertierung von ISO-Format zu datetime-Objekt
- 4.4 Methoden zur Handhabung von ISO-Strings mit Zeitzoneninformationen
- 4.5 Zusatz: Unterschiede zwischen UTC und Z-Notation
- 4.6 Zusammenfassung
- 5 5. Nützliche Techniken zum Umgang mit Datumsangaben
- 5.1 timedelta zum Addieren und Subtrahieren von Datumsangaben verwenden
- 5.2 Datumsangaben für heute, gestern und morgen abrufen
- 5.3 Vergleich von Datumsangaben und Berechnung der Differenz (Tage)
- 5.4 Methode zum Abrufen und Überprüfen eines bestimmten Wochentags
- 5.5 Überprüfung auf Schaltjahr und automatische Berechnung des Monatsendes (Zusatz)
- 5.6 Zusammenfassung
- 6 6. Häufig gestellte Fragen (FAQ)
- 6.1 Q1. Warum tritt ein ValueError bei strptime() auf?
- 6.2 Q2. Warum wird der japanische Wochentag nicht angezeigt, sondern Englisch?
- 6.3 Q3. Kann ich japanische Daten mit „Vormittag“ „Nachmittag“ konvertieren?
- 6.4 Q4. Was ist der Unterschied zwischen datetime.now() und datetime.today()?
- 6.5 Q5. Ich kann ISO-Strings mit Zeitzone nicht konvertieren. Was tun?
- 6.6 Ergänzung: Was tun, wenn die japanische Lokalisierung unter Windows nicht richtig funktioniert?
- 6.7 Zusammenfassung
1. Grundkenntnisse, die Sie vor der Handhabung von Datum und Strings in Python kennen sollten
Beim Verarbeiten von Datum und Zeit in Python ist das grundlegendste das Modul „datetime“. In diesem Artikel erklären wir detailliert, wie man Datum und Strings gegenseitig konvertiert, aber zuerst lassen Sie uns die grundlegenden Konzepte und Klassen, die Sie kennen sollten, zusammenfassen.Was ist die Standardbibliothek datetime von Python?
In Python ist als Standardbibliothek für die Handhabung von Datum und Zeit das Modul datetime verfügbar. Es erfordert keine zusätzliche Installation und kann sofort verwendet werden. Mit diesem Modul können Sie eine Vielzahl von Operationen durchführen, wie das Abrufen der aktuellen Uhrzeit, das Addieren und Subtrahieren von Daten, Formatkonvertierungen und Vergleiche. Zuerst überprüfen wir die grundlegende Importmethode.import datetimeOder Sie können wie folgt nur die benötigten Klassen importieren.from datetime import datetime, date, time, timedeltaHäufig verwendete Klassen und ihre Unterschiede
Dasdatetime-Modul enthält mehrere Klassen, aber diejenigen, die eng mit der Konvertierung von Datum und Strings zusammenhängen, sind hauptsächlich die folgenden drei.datetime.date-Klasse
Diese Klasse repräsentiert Informationen zu „Jahr, Monat, Tag“. Sie enthält keine Zeitinformationen.d = datetime.date(2025, 4, 7)
print(d) # Ausgabe: 2025-04-07datetime.time-Klasse
Diese Klasse enthält nur Zeitinformationen wie „Stunde, Minute, Sekunde“. Sie enthält keine Datumsangaben.t = datetime.time(14, 30, 0)
print(t) # Ausgabe: 14:30:00datetime.datetime-Klasse
Diese Klasse ist die vielseitigste und kann sowohl Datum (Jahr, Monat, Tag) als auch Zeit (Stunde, Minute, Sekunde) handhaben.dt = datetime.datetime(2025, 4, 7, 14, 30)
print(dt) # Ausgabe: 2025-04-07 14:30:00Diese Klasse wird bei der gegenseitigen Konvertierung von Strings und Datum am häufigsten verwendet.Aktuelles Datum und Uhrzeit mit datetime.now() abrufen
Mit dernow()-Methode der datetime.datetime-Klasse können Sie die aktuelle Datum und Uhrzeit einfach abrufen.from datetime import datetime
now = datetime.now()
print(now) # Beispiel: 2025-04-07 13:45:12.345678Das so abgerufene datetime-Objekt kann mit strftime() oder strptime(), die später vorgestellt werden, in einen String konvertiert oder aus einem String generiert werden.Zusammenfassung
In diesem Abschnitt haben wir einen Überblick über dasdatetime-Modul gegeben, das für die Handhabung von Datum und Zeit in Python am grundlegendsten ist, und die Unterschiede zwischen den repräsentativen Klassen erklärt. Im nächsten Abschnitt konzentrieren wir uns auf die „Konvertierung von String zu Datum“ und stellen die konkrete Verwendung von strptime() vor.Ad
2. [Zeichenkette → Datum] Methode zum Erstellen eines Datumsobjekts mit strptime()
In Python verwenden Sie die Methode strptime(), um eine Zeichenkette, die ein Datum darstellt, in ein datetime-Objekt umzuwandeln. Dies ist eine Abkürzung für „string parse time“ und eine Funktion, die die Zeichenkette analysiert und als Datum interpretiert. In diesem Kapitel erklären wir schrittweise von der grundlegenden Verwendung über die Handhabung japanischer Datumsdarstellungen bis hin zu Fehlbehandlungen.Grundlegende Verwendung von strptime() und Liste der Formatangaben
Grundlegende Syntax
from datetime import datetime\n\n date_string = '2025-04-07'\n dt = datetime.strptime(date_string, '%Y-%m-%d')\n print(dt) # Ausgabe: 2025-04-07 00:00:00strptime() nimmt zwei Argumente wie folgt:- Erstes Argument: Die zu parsende Zeichenkette (z. B. ‚2025-04-07‘)
- Zweites Argument: Das Format der Zeichenkette (z. B. ‚%Y-%m-%d‘)
Häufig verwendete Formatangaben
| Direktive | Bedeutung | Beispiel |
|---|---|---|
%Y | Jahr (4-stellig) | 2025 |
%y | Jahr (2-stellig) | 25 |
%m | Monat (2-stellig) | 04 |
%d | Tag (2-stellig) | 07 |
%H | Stunde (24-Stunden-Format) | 14 |
%M | Minute | 30 |
%S | Sekunde | 59 |
%A | Wochentag (Englisch) | Monday |
%p | Vormittag/Nachmittag (AM/PM) | AM |
Ein weiteres Beispiel: Konvertierung mit Datum und Uhrzeit
date_string = '2025-04-07 14:30:00'\n dt = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')\n print(dt) # Ausgabe: 2025-04-07 14:30:00Wie handhabt man Datumszeichenkette in japanischer Notation?
Um gängige japanische Formate wie „2025-04-07“ oder „2025-04-07 (Mo)“ zu handhaben, passen Sie das Format wie folgt an.Beispiel zum Parsen einer Zeichenkette mit japanischem Jahr, Monat, Tag
date_string = '2025-04-07'\n dt = datetime.strptime(date_string, '%Y-%m-%d')\n print(dt) # Ausgabe: 2025-04-07 00:00:00Zeichenketten mit japanischen Wochentagen können mit dem basischen strptime() nicht verarbeitet werden
Zum Beispiel führt eine Zeichenkette wie „2025-04-07 (Mo)“ zu einem Fehler mit strptime() allein, da Pythons strptime() lokalisierungsabhängig ist und japanische Wochentage standardmäßig nicht unterstützt. In diesem Fall gibt es folgende Lösungsansätze:- Entfernen Sie den unnötigen japanischen Wochentag aus der Zeichenkette und übergeben Sie sie dann an
strptime() - Nutzen Sie externe Bibliotheken (z. B.
kanji_to_timeusw.)
Häufige Fehler und deren Behebung: ValueError
Der häufigste Fehler beim Einsatz von strptime() ist der folgende.ValueError: time data '2025/04/07' does not match format '%Y-%m-%d'Was ist die Ursache dieses Fehlers?
Dies tritt auf, weil das tatsächliche Format der Zeichenkette nicht mit dem angegebenen Format übereinstimmt. Zum Beispiel, um ein Datum wie'2025/04/07' zu verarbeiten, müssen Sie das Format entsprechend an die Schrägstriche anpassen.date_string = '2025/04/07'\n dt = datetime.strptime(date_string, '%Y/%m/%d')Tipps zur Fehlerbehebung
- Überprüfen Sie die Trennzeichen (-, /, Leerzeichen usw.)
- Prüfen Sie, ob Nullauffüllung vorhanden ist (z. B. ’04‘ vs. ‚4‘)
- Stellen Sie sicher, dass keine überflüssigen Informationen enthalten sind, die
strptime()nicht verarbeiten kann, wie Wochentage
3. [Datum → String] Methode zur freien Formatkonvertierung mit strftime()
Beim Umgang mit Datumsangaben in Python gibt es sehr viele Situationen, in denen man ein datetime-Objekt in einen String in einem bestimmten Format umwandeln möchte. In solchen Fällen ist die strftime()-Methode sehr nützlich. In diesem Kapitel erklären wir die grundlegende Verwendung von strftime(), gängige Format‑Spezifizierer und die Methode, um Wochentage und Monatsnamen auf Japanisch anzuzeigen.Grundlegende Verwendung von strftime()
Syntax und einfaches Beispiel
from datetime import datetime
dt = datetime(2025, 4, 7, 14, 30)
formatted = dt.strftime('%Y-%m-%d %H:%M:%S')
print(formatted) # Ausgabe: 2025-04-07 14:30:00strftime() ist eine Abkürzung für „string format time“ und konvertiert ein datetime-Objekt in einen String im angegebenen Format.Gängige Format‑Spezifizierer (Wiedergabe)
| Spezifizierer | Bedeutung | Beispiel |
|---|---|---|
%Y | Gregorianisches Jahr (4 Stellen) | 2025 |
%m | Monat (2 Stellen) | 04 |
%d | Tag (2 Stellen) | 07 |
%H | Stunde (24‑Stunden‑Format) | 14 |
%M | Minute | 30 |
%S | Sekunde | 00 |
%A | Wochentag (Englisch) | Monday |
%a | Wochentag (Abkürzung) | Mon |
%p | Vormittag/Nachmittag (AM/PM) | PM |
Praktisches Beispiel: Format frei anpassen
Jahr, Monat und Tag mit Schrägstrich trennen
dt = datetime(2025, 4, 7)
formatted = dt.strftime('%Y/%m/%d')
print(formatted) # Ausgabe: 2025/04/07In japanischem Format konvertieren
dt = datetime(2025, 4, 7)
formatted = dt.strftime('%Y-%m-%d')
print(formatted) # Ausgabe: 2025-04-07Detaillierte Anzeige mit Uhrzeit
dt = datetime(2025, 4, 7, 14, 30)
formatted = dt.strftime('%Y-%m-%d %H:%M')
print(formatted) # Ausgabe: 2025-04-07 14:30Falls japanische Wochentage angezeigt werden sollen
Mitstrftime('%A') kann der Wochentag angezeigt werden, standardmäßig jedoch auf Englisch. Um ihn auf Japanisch anzuzeigen, muss die Locale (Spracheinstellung) geändert werden.Beispiel mit dem locale‑Modul (für UNIX/Linux‑Umgebungen)
import locale
from datetime import datetime
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
dt = datetime(2025, 4, 7)
formatted = dt.strftime('%Y-%m-%d (%A)')
print(formatted) # Ausgabe: 2025-04-07 (Montag)Hinweise
- In Windows‑Umgebungen ist
'ja_JP.UTF-8'möglicherweise nicht verfügbar. - Aufgrund der Umgebungsabhängigkeit sollte in Web‑Apps oder verteiltem Code Hardcoding vermieden werden.
- Für mehr Stabilität kann der Wochentag auch manuell mit einem Dictionary zugeordnet werden.
weekdays = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So']
weekday = weekdays[dt.weekday()]
print(f"{dt.strftime('%Y-%m-%d')} ({weekday})")Zusammenfassung
In diesem Kapitel haben wir die Verwendung vonstrftime() und praktische Beispiele zur Konvertierung eines datetime-Objekts in einen String vorgestellt. Die Möglichkeit, das Ausgabeformat frei anzupassen, ist in vielen Szenarien wie der Visualisierung von Datumdaten oder der Protokollierung sehr nützlich. Im nächsten Kapitel erklären wir die gegenseitige Konvertierung mit dem standardisierten Datumsformat „ISO 8601“.
Ad
4. Techniken zur gegenseitigen Umwandlung mit dem ISO-8601-Format
Bei der Datenverknüpfung zwischen Systemen oder API-Kommunikation ist es üblich, Datum und Uhrzeit im „ISO-8601-Format“ auszutauschen. In Python ist die Umwandlung in dieses Format eine der sehr wichtigen Operationen. In diesem Kapitel erklären wir die Methoden zur gegenseitigen Umwandlung des ISO-8601-Formats in Python sowie die Handhabung von Strings mit Zeitzoneninformationen.Was ist das ISO-8601-Format?
Das ISO-8601-Format ist die von der Internationalen Organisation für Normung (ISO) festgelegte Regelung für die Darstellung von Datum und Uhrzeit. Es wird in einer Form wie der folgenden dargestellt:2025-04-07T14:30:00- Zwischen Datum und Uhrzeit wird „T“ eingefügt
- 24-Stunden-Format
- Zeitzoneninformationen (z. B.
+09:00oderZ) können angehängt sein
isoformat() für die Konvertierung von Datum zu ISO-Format-String
Das datetime-Objekt in Python verfügt über eine bequeme Methode namens isoformat().Beispiel zur Verwendung
from datetime import datetime
dt = datetime(2025, 4, 7, 14, 30)
iso_str = dt.isoformat()
print(iso_str) # Ausgabe: 2025-04-07T14:30:00Feinabstimmung mit Argumenten ist möglich
# Anzeige bis Millisekunden
print(dt.isoformat(timespec='milliseconds')) # 2025-04-07T14:30:00.000
# Nur Datum abrufen
print(dt.date().isoformat()) # 2025-04-07fromisoformat() für die Konvertierung von ISO-Format zu datetime-Objekt
Umgekehrt wird zur Erstellung eines datetime-Objekts aus einem ISO-8601-Format-String fromisoformat() verwendet.Beispiel zur Verwendung
iso_str = '2025-04-07T14:30:00'
dt = datetime.fromisoformat(iso_str)
print(dt) # Ausgabe: 2025-04-07 14:30:00Es ist sehr intuitiv und wird seit Python 3.7 unterstützt.Methoden zur Handhabung von ISO-Strings mit Zeitzoneninformationen
Die Standard-fromisoformat() kann Fälle mit Zeitzoneninformationen (z. B. +09:00 oder Z) nicht immer richtig verarbeiten. In solchen Fällen kann die Verwendung einer Drittanbieter-Bibliothek flexibler sein.Empfohlene Bibliothek: dateutil.parser
pip install python-dateutilBeispiel zur Verwendung
from dateutil import parser
iso_str = '2025-04-07T14:30:00+09:00'
dt = parser.parse(iso_str)
print(dt) # Ausgabe: 2025-04-07 14:30:00+09:00Auf diese Weise können ISO-Strings mit Zeitzone genau geparst werden.Zusatz: Unterschiede zwischen UTC und Z-Notation
Zist eine Abkürzung für „Zulu Time (UTC)“.2025-04-07T14:30:00Zstellt die Zeit in UTC (Koordinierter Weltzeit) dar.
fromisoformat() in Python die Z-Notation nicht unterstützt, wird die Verwendung von dateutil.parser empfohlen.Zusammenfassung
Das ISO-8601-Format ist unverzichtbar für den Datenaustausch von Datum und Uhrzeit. In Python können Konvertierungen einfach mitisoformat() und fromisoformat() durchgeführt werden, aber für Strings mit Zeitzone ist die Verwendung der externen Bibliothek dateutil sehr effektiv. Im nächsten Kapitel werden anwendungsbezogene fortgeschrittene Techniken wie Berechnungen, Vergleiche und Differenzen von Daten eingeführt.5. Nützliche Techniken zum Umgang mit Datumsangaben
Beim Umgang mit Datum und Uhrzeit werden nicht nur Formatkonvertierungen verwendet, sondern auch häufig Prozesse wie der Vergleich von Datumsangaben oder das Addieren und Subtrahieren von Datumsangaben. In diesem Kapitel erklären wir zentrale Techniken aus demdatetime-Modul, die in der Praxis nützlich sind.timedelta zum Addieren und Subtrahieren von Datumsangaben verwenden
Um Datumsangaben wie „einen Tag später“, „eine Woche früher“ oder „30 Tage später“ zu berechnen, verwendet man die Klasse datetime.timedelta.Einen Tag später und einen Tag früher ermitteln
from datetime import datetime, timedelta
today = datetime(2025, 4, 7)
tomorrow = today + timedelta(days=1)
yesterday = today - timedelta(days=1)
print(tomorrow) # Ausgabe: 2025-04-08 00:00:00
print(yesterday) # Ausgabe: 2025-04-06 00:00:00Addition und Subtraktion in Stunden-Einheiten ist ebenfalls möglich
dt = datetime(2025, 4, 7, 14, 30)
plus_2_hours = dt + timedelta(hours=2)
print(plus_2_hours) # Ausgabe: 2025-04-07 16:30:00Datumsangaben für heute, gestern und morgen abrufen
Das Abrufen relativer Datumsangaben basierend auf dem aktuellen Datum und der Uhrzeit ist ebenfalls sehr üblich.from datetime import datetime, timedelta
now = datetime.now()
today = now.date()
yesterday = today - timedelta(days=1)
tomorrow = today + timedelta(days=1)
print(f"Heute: {today}")
print(f"Gestern: {yesterday}")
print(f"Morgen: {tomorrow}")Damit können Funktionen wie Tagesberichte oder Scheduler einfach implementiert werden.Vergleich von Datumsangaben und Berechnung der Differenz (Tage)
Es ist auch möglich, die Reihenfolge von zwei Datumsangaben zu vergleichen oder die Differenz (in Tagen, Stunden usw.) zu berechnen.Vergleich von Datumsangaben (Größenverhältnis)
d1 = datetime(2025, 4, 7)
d2 = datetime(2025, 4, 10)
print(d1 < d2) # Ausgabe: TrueDifferenz berechnen (Nutzung von timedelta)
delta = d2 - d1
print(delta.days) # Ausgabe: 3Auf diese Weise wird die Differenz als timedelta-Objekt erhalten, und detaillierte Werte können über Attribute wie .days oder .seconds abgerufen werden.Methode zum Abrufen und Überprüfen eines bestimmten Wochentags
Um den Wochentag eines Datums abzurufen oder zu überprüfen, ob es sich um einen bestimmten Wochentag handelt, verwendet man.weekday() oder .isoweekday().| Methode | Ausgabe (Beispiel: Montag) |
|---|---|
.weekday() | 0 (= Montag) |
.isoweekday() | 1 (= Montag) |
d = datetime(2025, 4, 7) # Montag
print(d.weekday()) # Ausgabe: 0
print(d.isoweekday()) # Ausgabe: 1Methode zum Anzeigen des Wochentags auf Deutsch (Mapping mit einem Dictionary)
weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
weekday_de = weekdays[d.weekday()]
print(f"{d.strftime('%Y/%m/%d')} ({weekday_de})")Überprüfung auf Schaltjahr und automatische Berechnung des Monatsendes (Zusatz)
import calendar
# Überprüfung, ob Schaltjahr
print(calendar.isleap(2024)) # Ausgabe: True
# Monatsend-Datum abrufen
last_day = calendar.monthrange(2025, 4)[1]
print(last_day) # Ausgabe: 30Zusammenfassung
In diesem Kapitel haben wir Methoden zur Addition und Subtraktion von Datumsangaben, zum Vergleich, zur Berechnung von Differenzen und zur Bestimmung des Wochentags vorgestellt, die in der Praxis häufig vorkommen. Insbesondere die Verwendung vontimedelta ist sehr vielseitig und sollte als grundlegende Fähigkeit im Umgang mit Datumsangaben im Gedächtnis behalten werden. Im nächsten Kapitel fassen wir häufig gestellte Fragen (FAQ) zu den bisher erläuterten Inhalten zusammen und bieten Informationen, die beim Klären von Zweifeln hilfreich sind.Ad
6. Häufig gestellte Fragen (FAQ)
Beim Umgang mit Datum und Strings in Python, insbesondere Punkte, an denen Anfänger leicht stolpern, haben wir in Form von häufig gestellten Fragen zusammengefasst. Nutzen Sie dies zur Fehlerbehebung und zur Vertiefung des Verständnisses.Q1. Warum tritt ein ValueError bei strptime() auf?
A. Wahrscheinlich passt das Format nicht.
Beistrptime() führt bereits eine Abweichung von einem Zeichen zwischen String und angegebenem Format zu einem Fehler. Beispiel: Falscher Fallfrom datetime import datetime
date_string = '2025/04/07'
# Das Format ist „-“ und passt nicht
dt = datetime.strptime(date_string, '%Y-%m-%d')
# → ValueError tritt aufKorrekturbeispiel:dt = datetime.strptime(date_string, '%Y/%m/%d')Andere mögliche Ursachen sind:- Das Vorhandensein von führenden Nullen (04 und 4 usw.)
- Überflüssige Zeichen (z. B. Wochentag oder Leerzeichen)
- Nicht unterstützte Formate (z. B. japanische „Vormittag/Nachmittag“)
Q2. Warum wird der japanische Wochentag nicht angezeigt, sondern Englisch?
A. strftime('%A') hängt vom Lokalisierungseinstellung (Spracheinstellung) ab.
In der Standardeinstellung von Python wird Englisch verwendet, daher werden Wochentage mit %A wie Monday abgerufen.Lösung 1: Das locale-Modul verwenden (UNIX/Linux-Systeme)
import locale
from datetime import datetime
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
dt = datetime(2025, 4, 7)
print(dt.strftime('%A')) # Ausgabe: MontagLösung 2: Wochentage mit einem Dictionary auf Japanisch mappen (unabhängig von der Umgebung)
weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']
print(weekdays[dt.weekday()]) # Ausgabe: MontagQ3. Kann ich japanische Daten mit „Vormittag“ „Nachmittag“ konvertieren?
A. Die Standard-strptime() von Python unterstützt das nicht.
Zum Beispiel führt ein String wie '2025年4月7日 午後2時30分' zu einem Fehler mit der Standard-strptime().Behandlungsmethode:
- Selbst mit regulären Ausdrücken „Vormittag/Nachmittag“ in Uhrzeiten umwandeln
- Externe Bibliothek verwenden (z. B.
dateparser)
pip install dateparserimport dateparser
s = '2025年4月7日 午後2時30分'
dt = dateparser.parse(s)
print(dt) # Ausgabe: 2025-04-07 14:30:00Q4. Was ist der Unterschied zwischen datetime.now() und datetime.today()?
A. Im Wesentlichen dasselbe (datetime.datetime).
from datetime import datetime
print(datetime.now()) # Aktuelles Datum und Uhrzeit abrufen
print(datetime.today()) # Ebenso aktuelles Datum und Uhrzeit abrufenBeide geben die aktuelle lokale Uhrzeit zurück. Es gibt strenge Unterschiede in der Python-Dokumentation, aber für übliche Anwendungen können Sie dasselbe Verhalten annehmen.Q5. Ich kann ISO-Strings mit Zeitzone nicht konvertieren. Was tun?
A. datetime.fromisoformat() unterstützt einige Strings mit Zeitzone nicht.
Beispiel: 2025-04-07T14:30:00+09:00 usw.Lösung: dateutil.parser.parse() verwenden
from dateutil import parser
s = '2025-04-07T14:30:00+09:00'
dt = parser.parse(s)
print(dt) # Ausgabe: 2025-04-07 14:30:00+09:00Mit der dateutil-Bibliothek können Sie flexibel mit Strings mit Zeitzone umgehen.Ergänzung: Was tun, wenn die japanische Lokalisierung unter Windows nicht richtig funktioniert?
Wennlocale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8') nicht funktioniert, ist der Lokalisierungsname unter Windows wie Japanese_Japan.932.locale.setlocale(locale.LC_TIME, 'Japanese_Japan.932')Allerdings gibt es Umgebungsunterschiede, daher ist die Dictionary-Mapping-Methode sicherer.

