Pythonでは、日付から曜日を取得するための方法がいくつかあります。ここでは、その中でも主に使われる2つの方法を紹介します。
1. datetimeモジュールのstrftimeメソッドを使う方法
datetimeモジュールのstrftimeメソッドは、date型またはdatetime型のオブジェクトを文字列型に変換・フォーマットするためのメソッドです。このメソッドを使うと、日付から曜日を取得することができます。
import datetime as dt
# 日付を定義
date = dt.date(2001, 1, 2)
# 曜日を取得(英語)
print(date.strftime('%A')) # => 'Tuesday'
print(date.strftime('%a')) # => 'Tue'
また、日本語の曜日を取得する場合は、ロケールを日本語環境に変更してからstrftimeメソッドを使います。
import datetime as dt
import locale
# ロケールを日本語に設定
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
# 日付を定義
date = dt.date(2001, 1, 2)
# 曜日を取得(日本語)
print(date.strftime('%A')) # => '火曜日'
print(date.strftime('%a')) # => '火'
2. datetimeモジュールのweekdayメソッドとcalendarモジュールのday_nameを使う方法
datetimeモジュールのweekdayメソッドは、曜日に対応する整数を返します(月曜日が0、日曜日が6)。これとcalendarモジュールのday_nameを組み合わせると、曜日名を取得することができます。
import calendar
import datetime as dt
# 日付を定義
date = dt.date(2001, 1, 2)
# 曜日のインデックスを取得
day_index = date.weekday()
# 曜日名を取得(英語)
print(calendar.day_name[day_index]) # => 'Tuesday'
日本語の曜日名を取得する場合も、ロケールを日本語に設定します。
import calendar
import datetime as dt
import locale
# ロケールを日本語に設定
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
# 日付を定義
date = dt.date(2001, 1, 2)
# 曜日のインデックスを取得
day_index = date.weekday()
# 曜日名を取得(日本語)
print(calendar.day_name[day_index]) # => '火曜日'
これらの方法を使えば、Pythonで日付から曜日を取得することができます。どちらの方法を使うかは、具体的な要件や好みによります。