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)
-1
andパターン-%w
は、パーサーにその週の月曜日を選択するように指示します。出力は次のようになります。
2013-07-01 00:00:00
%W
では、月曜日が週の最初の曜日として使用されます。曜日は自由に選択できますが、それから外れると予期しない結果が生じる可能性があります。
を参照してくださいstrftime()
行動とstrptime()
行動ドキュメントのセクション、脚注4:
メソッドで使用する場合
strptime()
、%U
と は%W
、曜日と年が指定されている場合にのみ計算に使用されます。
注意:週番号がISO週日代わりにを使用してください%G-W%V-%u
。これらのディレクティブには Python 3.6 以降が必要です。