結構使うことがあったのでちょっとまとめとく
こちらの記事を参考
以下のように年月日の日付パラメータを受け取ってその文字列をdatetime型に変換した
from datetime import date, timedelta, datetime
input_date = '2017-01-01'
if input_date == '':
day = datetime.today()
else:
day = datetime.strptime(input_date, "%Y-%m-%d") #input_dateという文字列をdatetime型に変換してる
yesterday = day - timedelta(days=1)
two_days_ago = yesterday - timedelta(days=1)
print(day)
print(yesterday)
print(two_days_ago)
結果:
2017-01-01 00:00:00
2016-12-31 00:00:00
2016-12-30 00:00:00
次にdatetime型から文字列に変換する
from datetime import date, timedelta, datetime
input_date= datetime.now().strftime("%Y-%m-%d") #datetime型を作成
day = datetime.strptime(input_date, "%Y-%m-%d") #datetime→string
yesterday = day - timedelta(days=1)
two_days_ago = yesterday - timedelta(days=1)
print(day)
print(yesterday)
print(two_days_ago)
結果:
2019-02-22 00:00:00
2019-02-21 00:00:00
2019-02-20 00:00:00
まとめ
文字列→datetime型:strptime()
datetime型→文字列:strftime()
コメント