Python で曜日を取得する

  1. Python で weekday() メソッドを使用して日の名前を取得する
  2. Python で isoweekday() メソッドを使用して日の名前を取得する
  3. Python で calendar モジュールを使用して日の名前を取得する
  4. Python で strftime() メソッドを使用して曜日名を取得する
  5. Python で Pandas の Timestamp メソッドを使用して、曜日名を取得する

このチュートリアルでは、与えられた日付から曜日の名前を取得する方法を紹介します。出力を取得する方法は複数あるので、チュートリアルでは曜日の名前を取得するためのいくつかの異なるアプローチについても説明しています。

Python で weekday() メソッドを使用して日の名前を取得する

Python では、曜日を取得するために weekday() を利用することができます。datetime.today() メソッドは現在の日付を返し、weekday() メソッドは曜日を、月曜日を 0、日曜日を 6 とした整数値で返します。

このメソッドのコード例を以下に示します。

from datetime import datetime

print(datetime.today().weekday())

出力:

1

Python で isoweekday() メソッドを使用して日の名前を取得する

isoweekday() メソッドは weekday() メソッドと似たような働きをします。このメソッドは weekday() のように月曜日を 0 の代わりに 1 でマークしたい場合に用いられます。

以下にコード例を示します。

from datetime import datetime
print(datetime.today().isoweekday())

出力:

2

出力されるのは 2 で、これは月曜日が 1 なので火曜日に相当します。

Python で calendar モジュールを使用して日の名前を取得する

Python で英語で曜日の名前が必要な場合は、calendar ライブラリを利用することができます。曜日の配列を管理する day_name() メソッドを利用します。この配列では、月曜日が 0 番目のインデックスに配置されます。

このメソッドの使用例を以下に示します。

from datetime import date
import calendar
curr_date = date.today()
print(calendar.day_name[curr_date.weekday()])

出力:

Tuesday

Python で strftime() メソッドを使用して曜日名を取得する

Python で英語の曜日名を取得するには、strftime() メソッドを使用することもできます。strftime() メソッドは %A ディレクティブを唯一のパラメータとして受け取り、曜日の完全な名前を返します。

このアプローチのコード例は以下の通りです。

from datetime import datetime
print(datetime.today().strftime('%A'))

出力:

 Tuesday

Python で Pandas の Timestamp メソッドを使用して、曜日名を取得する

Pandas の Timestamp メソッドは、文字列形式の日付を持っている場合に便利です。これは YYYY-MM-DD 形式の日付をパラメータとして受け取り、day_name() メソッドはそれぞれの日の名前を返します。

以下にコード例を示します。

import pandas as pd

temp = pd.Timestamp('2020-11-25')
print(temp.dayofweek, temp.day_name())

以下にコード例を示します。

2 Wednesday

関連記事 - Python DateTime

  • Python で現在の日付を取得する
  • Python で datetime 減算