Python - 日付から曜日を取得する

曜日を取得するには、datetime の weekday または isoweekday メソッドを使用します。

曜日の取得方法

datetime の weekday() と isoweekday() メソッドは、セットされている日付の曜日を整数で返します。weekdayメソッドは 0(月曜日) ~ 6(日曜日) 、isoweekday メソッド は 1(月曜日) ~ 7(日曜日) を返します。
曜日(0:月曜日 ~ 6:日曜日) = dateオブジェクト.weekday()
曜日(1:月曜日 ~ 7:日曜日) = dateオブジェクト.isoweekday()
weekday() と isoweekday() が返す値
曜日 weekday isoweekday
月曜日 0 1
火曜日 1 2
水曜日 2 3
木曜日 3 4
金曜日 4 5
土曜日 5 6
日曜日 6 7

サンプルコード1

weekday()を使用し、2099年1月31日の曜日を表示します。
import datetime

# 2099年1月31日
dateValue = datetime.date(2099, 1, 31)

# 曜日(0~6)取得
week = dateValue.weekday()

if week == 0:
    print(f'{dateValue}は月曜日です。')
elif week == 1:
    print(f'{dateValue}は火曜日です。')
elif week == 2:
    print(f'{dateValue}は水曜日です。')
elif week == 3:
    print(f'{dateValue}は木曜日です。')
elif week == 4:
    print(f'{dateValue}は金曜日です。')
elif week == 5:
    print(f'{dateValue}は土曜日です。')
elif week == 6:
    print(f'{dateValue}は日曜日です。')
サンプルコードの実行結果
サンプルコードの実行結果

サンプルコード2

文字列の日付をdatetimeにし、weekday()とリストを使用して曜日を表示します。
import datetime

strDateValue = '2099年1月31日'

# 文字列をdatetimeに
dateValue = datetime.datetime.strptime(strDateValue, '%Y年%m月%d日')

# 曜日(0~6)取得
week = dateValue.weekday()

# 曜日(0~6)を文字列に
weekList = ['月', '火', '水', '木', '金' ,'土' ,'日']
strValue = weekList[week]

# 結果 = 2099-01-31 00:00:00は土曜日です。
print(f'{dateValue}は{strValue}曜日です。')
サンプルコードの実行結果
サンプルコードの実行結果
カレンダー
カレンダー

検証環境