Datum aus Wochennummer extrahieren
Beim Versuch, ein Datum aus einer Wochennummer mit dem folgenden Code abzurufen:
import datetime d = "2013-W26" r = datetime.datetime.strptime(d, "%Y-W%W") print(r)
Es tritt ein Fehler auf, da eine Wochennummer allein nicht ausreicht, um ein bestimmtes Datum zu generieren. Um dieses Problem zu beheben, muss auch ein bestimmter Wochentag angegeben werden.
Ändern Sie den Code, indem Sie der Zeichenfolge einen Standardwochentag, z. B. Montag, hinzufügen:
import datetime d = "2013-W26" r = datetime.datetime.strptime(d + '-1', "%Y-W%W-%w") print(r)
Die Muster -1 und -%w in der Formatzeichenfolge weisen den Parser an, den Montag innerhalb der angegebenen Woche auszuwählen. Dieser aktualisierte Code gibt jetzt korrekt Folgendes aus:
2013-07-01 00:00:00
Es ist wichtig zu beachten, dass die %W-Direktive gemäß dem im beschriebenen strftime()- und strptime()-Verhalten Montag als ersten Tag der Woche annimmt Dokumentation. Jede Abweichung von dieser Annahme kann zu unerwarteten Ergebnissen führen.
In Fällen, in denen die Wochennummer ein ISO-Wochendatum ist, sollte stattdessen das Format %G-W%V-%u verwendet werden. Dies erfordert jedoch Python Version 3.6 oder höher.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich ein Datum aus einer Wochennummer in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!