曜日番号の取得

曜日番号の取得

 ≫ datetimeモジュールの基本的な使い方はこちらに載っています。

曜日番号の取得

 datetime.dateオブジェクト、または datetime.datetimeオブジェクトの weekday()メソッドは月曜日を 0 , 日曜日を 6 とした曜日番号を返します。たとえば 2018年12月10日の曜日番号は、次のようなコードで取得することができます。

# https://python.atelierkobato.com/week/

# datetimeモジュールをインポート
import datetime

# 2018年12月10日
x = datetime.date(2018, 12, 10)

# 曜日番号を取得
print(x.weekday())
0

 
 次のサンプルコードを実行すると、12月10日から12月16日までの曜日番号を表示させることができます。

# https://python.atelierkobato.com/week/

# 12月10日~12月16日の曜日番号を表示

# datetimeモジュールをインポート
import datetime

# 日付差 dt = 1
dt = datetime.timedelta(1)

# 起点日時 (2018年12月9日)
x = datetime.date(2018, 12, 9)

# 日付と曜日番号を表示
for k in range(7):
    x += dt
    print(x, " 曜日番号", x.weekday())
2018-12-10  曜日番号 0
2018-12-11  曜日番号 1
2018-12-12  曜日番号 2
2018-12-13  曜日番号 3
2018-12-14  曜日番号 4
2018-12-15  曜日番号 5
2018-12-16  曜日番号 6

 weekday() によく似たメソッドに isoweekday() がありますが、こちらは月曜日を 1 , 日曜日を 7 とした曜日番号を返します。
 

曜日の表示

 曜日 (day of the week) のリストを用意しておけば、日時データに対応する曜日を表示させることができます。曜日番号はリストの各要素を参照するためのインデックス番号として用います。

# https://python.atelierkobato.com/week/

# 12月10日から12月16日までの曜日を表示

# datetimeモジュールをインポート
import datetime

# 曜日(day of the week)のリスト
dweek = ["月", "火", "水", "木", "金", "土", "日"]

# 日付差 dt = 1
dt = datetime.timedelta(1)

# 起点日時 (2018年12月9日)
x = datetime.date(2018, 12, 9)

# 日付と曜日を表示
for k in range(7):
    x += dt
    print(x, dweek[x.weekday()])
2018-12-10 月
2018-12-11 火
2018-12-12 水
2018-12-13 木
2018-12-14 金
2018-12-15 土
2018-12-16 日