

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で曜日別に自動ツイートをする処理を作成した記事もあるのでご参考。
あわせて読みたい



