カテゴリ: Python 更新日: 2025/11/04

Pythonで曜日を取得する方法を解説!weekday()とisoweekday()の違いと使い方

Pythonで曜日を取得する方法(weekday() / isoweekday())
Pythonで曜日を取得する方法(weekday() / isoweekday())

先生と生徒の会話形式で理解しよう

生徒

「Pythonで“今日は何曜日?”って調べることってできますか?」

先生

「できますよ!Pythonではweekday()isoweekday()という関数を使えば、今日の曜日を数字で取得できます。」

生徒

「数字って、月曜なら1とか日曜なら7とかですか?」

先生

「それはisoweekday()のパターンですね。実はweekday()isoweekday()で少し違いがあるんです。順番に解説していきますね。」

-

1. Pythonで曜日を取得する方法とは?

1. Pythonで曜日を取得する方法とは?
1. Pythonで曜日を取得する方法とは?

Python(パイソン)で現在の曜日を調べたいときは、datetime(デイトタイム)というモジュールを使います。その中でもweekday()isoweekday()という関数を使えば、日付に対応する曜日を「数字」で取得できます。

たとえば、月曜日なら「0」や「1」、日曜日なら「6」や「7」など、数字で曜日が表されます。Pythonを使ったプログラムで、カレンダーやスケジュール管理を作るときにもよく使われる方法です。

2. weekday()の使い方と特徴

2. weekday()の使い方と特徴
2. weekday()の使い方と特徴

weekday()は、Pythonで日付を取得したときに、その日が何曜日かを「0~6」の数字で教えてくれる関数です。

0が月曜日、6が日曜日というのがポイントです。


from datetime import datetime

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

2

この例では「2」と表示されているので、「水曜日」を意味しています。曜日の数字の対応は次の通りです:

  • 0:月曜日
  • 1:火曜日
  • 2:水曜日
  • 3:木曜日
  • 4:金曜日
  • 5:土曜日
  • 6:日曜日

3. isoweekday()の使い方と違い

3. isoweekday()の使い方と違い
3. isoweekday()の使い方と違い

isoweekday()も同じように曜日を数字で返してくれますが、1〜7の範囲で表され、1が月曜日、7が日曜日というルールになります。


from datetime import datetime

today = datetime.today()
print(today.isoweekday())

3

この場合、「3」は水曜日を意味します。weekday()と違って、日曜日が「7」になるので注意しましょう。

4. weekday()とisoweekday()の違いを表で比較

4. weekday()とisoweekday()の違いを表で比較
4. weekday()とisoweekday()の違いを表で比較

2つの関数の違いを、曜日ごとの数字でまとめると以下のようになります:

曜日 weekday() isoweekday()
月曜日01
火曜日12
水曜日23
木曜日34
金曜日45
土曜日56
日曜日67

このように、同じ曜日でも数字がずれるので、使い分けには注意しましょう。

-

5. 今日の曜日を日本語で表示したいとき

5. 今日の曜日を日本語で表示したいとき
5. 今日の曜日を日本語で表示したいとき

数字だけではわかりにくいので、「月曜日」や「火曜日」など、日本語の文字で表示したいときもありますよね。そんなときは、自分でリスト(配列)を用意して、数字に対応した文字列を表示する方法が使えます。


week_list = ["月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"]
today = datetime.today()
print("今日は", week_list[today.weekday()])

今日は 水曜日

weekday()の戻り値(0〜6)を使って、リストの中から対応する曜日を選びます。

6. 未来や過去の日付の曜日も取得できる

6. 未来や過去の日付の曜日も取得できる
6. 未来や過去の日付の曜日も取得できる

曜日を調べるのは「今日」だけとは限りません。「来週の金曜日は何曜日?」とか「1ヶ月前の曜日は?」など、他の日付に対しても曜日の取得ができます


from datetime import timedelta

next_week = datetime.today() + timedelta(days=7)
print("来週の曜日(数字):", next_week.weekday())
print("来週の曜日(日本語):", week_list[next_week.weekday()])

来週の曜日(数字): 2
来週の曜日(日本語): 水曜日

timedeltaと組み合わせることで、好きな日付の曜日を調べることができます。

7. 初心者のための補足:曜日を数字で扱う理由とは?

7. 初心者のための補足:曜日を数字で扱う理由とは?
7. 初心者のための補足:曜日を数字で扱う理由とは?

なぜ曜日を「月曜日」や「火曜日」ではなく、数字で扱うのか疑問に思うかもしれません。

それは、プログラムの中では「文字」より「数字」のほうが比較や計算がしやすいからです。たとえば「月曜日から金曜日までの範囲かどうか」を調べるとき、数字であれば次のように簡単に書けます:


if today.weekday() < 5:
    print("平日です")
else:
    print("週末です")

平日です

このように、weekday()で得た数字を使うことで、曜日による条件分岐が簡単にできるのです。

8. 曜日を使ったアプリ例:予定表やリマインダー

8. 曜日を使ったアプリ例:予定表やリマインダー
8. 曜日を使ったアプリ例:予定表やリマインダー

曜日の情報は、日々の予定管理アプリや、タスクリマインダーを作るときにとても役立ちます。たとえば:

  • 「金曜日に週報を自動で送信」
  • 「月曜日にToDoをリセット」
  • 「土日は通知をオフ」

このような処理を作るには、weekday()isoweekday()の知識が欠かせません。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-