以下のような記述を作成したかったので、Pythonでやってみました。
2023-07-18 Tue
2023-07-19 Wed
コード
import datetime mylist = [f"2023-08-1{i}" for i in range(1, 6)] for i in mylist: hoge = i dte = datetime.datetime.strptime(hoge, '%Y-%m-%d') dte1 = dte.strftime('%a') dte2 = str(dte) new_date = datetime.datetime.strptime(dte2, '%Y-%m-%d %H:%M:%S').strftime('%Y/%m/%d') print(new_date, dte1) 2023/08/11 Fri 2023/08/12 Sat 2023/08/13 Sun 2023/08/14 Mon 2023/08/15 Tue
日付を作って、リストに入れる
日付をforループで作成します。mylistに格納します。参考にしたページも載せておきます。
mylist = [f"2023-08-1{i}" for i in range(1, 6)]
文字列を日付型に変換する
変数hogeにforループの展開を入れます。次に変数dteに文字列を日付型に変換して代入する。
for i in mylist: hoge = i dte = datetime.datetime.strptime(hoge, '%Y-%m-%d')
日付型から曜日を取得+日付型を文字列にする
dte1に関数(?)strftimeで曜日を代入します。
dte = datetime.datetime.strptime(hoge, '%Y-%m-%d') dte1 = dte.strftime('%a') dte2 = str(dte) new_date = datetime.datetime.strptime(dte2, '%Y-%m-%d %H:%M:%S').strftime('%Y/%m/%d') print(new_date, dte1)
TypeError: strptime() argument 1 must be str, not datetime.datetimeの対処法
https://qiita.com/S_eki/items/574402720355fc979622
ここでdte2に日付型から文字列型にします。TypeErrorが出たので、ググってこれをやります。
最後に出力
最初の行で2023-07-18 00:00:00を2023/07/18に形式変更します。そして出力。
new_date = datetime.datetime.strptime(dte2, '%Y-%m-%d %H:%M:%S').strftime('%Y/%m/%d') print(new_date, dte1)
これを作成するのに2時間くらいかかっていますが、身になったので良しとします。