【Python】日付から曜日を取得する方法

この記事では、Pythonを使用して日付から曜日を取得する方法を解説します。

datetimeモジュール、calendarモジュール、dateutilモジュールを使った曜日取得の手順を紹介します。

Python初心者でも簡単に理解できるので、ぜひ参考にしてください。

目次から探す

日付から曜日を取得する方法とは

日付から曜日を取得する方法は、Pythonの標準ライブラリやサードパーティライブラリを使用することで簡単に実装することができます。

主な方法としては、datetimeモジュール、calendarモジュール、dateutilモジュールがあります。

それぞれのモジュールを使った曜日取得方法を見ていきましょう。

datetimeモジュールの利用

datetimeモジュールは日付や時間を操作するための機能を提供しています。

日付から曜日を取得するには、datetimeモジュールのweekday()メソッドを使用します。

このメソッドは月曜日を0、日曜日を6として、指定した日付の曜日を整数で返します。

import datetime

date = datetime.date(2022, 10, 31)
weekday = date.weekday()
print(weekday)  # 火曜日の場合、結果は1となる

calendarモジュールの利用

calendarモジュールはカレンダー関連の機能を提供しています。

日付から曜日を取得するには、calendarモジュールのweekday()関数を使用します。

この関数は月曜日を0、日曜日を6として、指定した日付の曜日を整数で返します。

import calendar

date = (2022, 10, 31)
weekday = calendar.weekday(*date)
print(weekday)  # 火曜日の場合、結果は1となる

dateutilモジュールの利用

dateutilモジュールは日付や時間の操作を簡単に行うためのユーティリティライブラリです。

日付から曜日を取得するには、dateutilモジュールのparserクラスを使用します。

このクラスのparse()メソッドを使うことで、日付文字列から曜日を取得することができます。

from dateutil import parser

date_str = "2022-10-31"
date = parser.parse(date_str)
weekday = date.weekday()
print(weekday)  # 火曜日の場合、結果は1となる

datetimeモジュールを使用した曜日取得の手順

datetimeモジュールのインポート

Pythonのdatetimeモジュールを使用するには、まずモジュールをインポートする必要があります。

以下のように記述します。

import datetime

日付データの作成

datetimeモジュールを使用して、日付データを作成します。

例えば、2022年3月15日の日付データを作成する場合は、以下のようにします。

date = datetime.datetime(2022, 3, 15)

曜日の取得

作成した日付データから曜日を取得するには、weekday()メソッドを使用します。

このメソッドは月曜日を0、日曜日を6として、曜日を表す数値を返します。

例えば、水曜日の場合は2が返されます。

weekday = date.weekday()
print(weekday)

このようにして、datetimeモジュールを使用して日付から曜日を取得することができます。

calendarモジュールを使用した曜日取得の手順

calendarモジュールのインポート

Pythonのcalendarモジュールを使用すると、日付から曜日を取得することができます。

まずは、calendarモジュールをインポートします。

import calendar

曜日の取得

calendarモジュールを使用して、指定した日付の曜日を取得する方法は以下の通りです。

import calendar

# 年、月、日を指定
year = 2022
month = 10
day = 15

# 曜日を取得
weekday = calendar.weekday(year, month, day)

# 曜日の番号を曜日名に変換
days = ["月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"]
day_name = days[weekday]

print(f"{year}年{month}月{day}日は{day_name}です。")
2022年10月15日は土曜日です。

上記のコードでは、calendar.weekday(year, month, day)で指定した日付の曜日を取得し、その結果を曜日名に変換して出力しています。

これにより、calendarモジュールを使用して日付から曜日を取得することができます。

dateutilモジュールを使用した曜日取得の手順

dateutilモジュールを使用して、日付から曜日を取得する方法を以下に示します。

from dateutil import parser

date_string = "2022-10-15"
date = parser.parse(date_string)
day_of_week = date.strftime("%A")

print(day_of_week)
Saturday

上記のコードでは、dateutilモジュールのparserを使用して日付の文字列を日付オブジェクトに変換し、strftime("%A")を使って曜日を取得しています。

このコードを実行すると、指定した日付の曜日が出力されます。

目次から探す