Heim >Backend-Entwicklung >Python-Tutorial >Wie extrahiere ich ein Datum aus einer Wochennummer in Python?

Wie extrahiere ich ein Datum aus einer Wochennummer in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-11-10 20:52:021043Durchsuche

How to Extract a Date from a Week Number in Python?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn