Pythonで曜日を取得できるから、取得した曜日の値によって処理を変えたらいいよ。
Pythonでどうすれば曜日を取得できるかお悩みではないだろうか。
曜日はPythonで簡単に取得することができ、今日でも他の日でも可能だ。
今回はPythonで曜日を数字で取得する方法について紹介する。
Pythonで曜日を数字で取得する方法
Pythonで今日の曜日を取得するには datetime.date.today()
で今日の日付を取得して、weekday()
メソッドを用いると取得できる。
import datetime # 曜日番号を取得(0は月曜日) week_num = datetime.date.today().weekday() print(datetime.date.today()) print(type(datetime.date.today())) print(week_num) # 2020-05-05 # <class 'datetime.date'> # 1
取得できる値は数値となっており、月曜日が0で0から6までの値が返される。
日曜日は0ではなく6なので注意。
今日以外の曜日を取得する方法
今日以外の曜日も取得するにはdatetime型の変数に、先程と同じようにweekday()
メソッドを用いると曜日の数値を取得できる。
someday = datetime.datetime.strptime("2020-05-01", "%Y-%m-%d") week_num_someday = someday.weekday() print(someday) print(type(someday)) print(week_num_someday) # 2020-05-01 00:00:00 # <class 'datetime.datetime'> # 4
曜日名を取得する方法
曜日の数値ではなく名前で取得したい場合は calendar.day_name
に曜日の番号を指定すると曜日の名前を取得することができる。
import calendar week_name_someday = calendar.day_name[week_num_someday] print(week_name_someday) # Friday
他にも strftime
の引数に %A
や %a
を指定することで、日付に対応する曜日名を取得することもできる。
print(someday.strftime('%A, %a')) # Friday, Fri
Pythonで曜日を数字で取得する方法 まとめ
Pythonで曜日を取得するには weekday()
を使う。
weekday()
は今日(today)以外にもdatetime型の変数にも適用可能。
戻り値は0から6までの数値で月曜日が0に当たる。
曜日名を取得したい場合は calendar.day_name
または strftime
を用いる。
また今回の曜日取得を用いて、Twitterで曜日別に自動ツイートをする処理を作成した記事もあるのでご参考。
あわせて読みたい