Get date from week number Ask Question

Get date from week number Ask Question

Please what's wrong with my code:

import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d, "%Y-W%W")
print(r)

Display "2013-01-01 00:00:00", Thanks.

ベストアンサー1

A week number is not enough to generate a date; you need a day of the week as well. Add a default:

import datetime
d = "2013-W26"
r = datetime.datetime.strptime(d + '-1', "%Y-W%W-%w")
print(r)

-1andパターン-%wは、パーサーにその週の月曜日を選択するように指示します。出力は次のようになります。

2013-07-01 00:00:00

%Wでは、月曜日が週の最初の曜日として使用されます。曜日は自由に選択できますが、それから外れると予期しない結果が生じる可能性があります。

を参照してくださいstrftime()行動とstrptime()行動ドキュメントのセクション、脚注4:

メソッドで使用する場合strptime()%Uと は%W、曜日と年が指定されている場合にのみ計算に使用されます。

注意:週番号がISO週日代わりにを使用してください%G-W%V-%u。これらのディレクティブには Python 3.6 以降が必要です。

おすすめ記事