私のコードの何が問題なのか教えてください:
import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d, "%Y-W%W")
print(r)
「2013-01-01 00:00:00」と表示、ありがとう。
日付を生成するには週番号だけでは不十分です。曜日も必要です。デフォルトを追加します。
import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d + '-1', "%Y-W%W-%w")
print(r)
-1
and-%w
パターンは、パーサーにその週の月曜日を選択するように指示します。これは以下を出力します:
2013-07-01 00:00:00
%W
月曜日を週の最初の日として使用します。曜日を自由に選択できますが、それを逸脱すると予期しない結果が生じる可能性があります。
ドキュメントの脚注 4 の動作セクションを参照してくださいstrftime()
。strptime()
strptime()
メソッドで使用する場合は、曜日と年を指定した場合にのみ計算に使用されます%U
。%W
週番号がISO の週の日付%G-W%V-%u
である場合は、代わりに使用することをお勧めします。これらのディレクティブには、Python 3.6 以降が必要です。