カテゴリ: Python 更新日: 2026/01/01

Pythonで曜日を取得する方法を完全ガイド!初心者でもわかるweekday()とisoweekday()

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

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

生徒

「Pythonで日付から曜日を調べることってできますか?カレンダーみたいに曜日がわかったら便利だと思ったんです。」

先生

「もちろんできますよ。Pythonには曜日を数値で取り出すためのweekday()isoweekday()という方法が用意されています。」

生徒

「数字で曜日がわかるってどういうことですか?数字と曜日のつながりがよくわからなくて……。」

先生

「それぞれのメソッドが決めている番号のルールがあって、その番号に応じて曜日がわかる仕組みなんです。丁寧に説明していきますね。」

1. weekday()とは?

1. weekday()とは?
1. weekday()とは?

Pythonのweekday()は、日付の曜日を数字で返してくれる機能です。曜日の数字は「月曜日が0、日曜日が6」という並びになっています。ふだんの生活で曜日を数字に置き換えることは少ないかもしれませんが、コンピュータの中では曜日を処理するためにこうした数字が使われます。カレンダーの並びをそのまま数字にしたようなイメージだと理解しやすくなります。


from datetime import datetime

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

3

このように、weekday()は数字で曜日を返します。例えば「3」が返ってきたら、それは「木曜日」を意味しています。数字のままだと直感的にわかりにくいので、後で説明する変換方法を使うと読みやすくなります。

2. isoweekday()とは?

2. isoweekday()とは?
2. isoweekday()とは?

isoweekday()weekday()と似ていますが、曜日の番号が異なる点が特徴です。「月曜日が1、日曜日が7」という国際標準に沿った番号になっています。数字が1から始まるので、初心者にはこちらのほうが自然に感じる場合も多いです。


from datetime import datetime

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

4

この例では「4」が表示され、これは「木曜日」を意味します。曜日を扱うアプリケーションや勤怠システムなどではisoweekday()のほうが使われることも多く、用途によって使い分けができます。

3. 数字から曜日名に変換して表示する

3. 数字から曜日名に変換して表示する
3. 数字から曜日名に変換して表示する

曜日が数字のままだと読みにくいため、一覧を作って日本語の曜日に変換するとわかりやすくなります。辞書のように「数字→対応する曜日」を作っておくことで、プログラムの中でも見やすい表示ができます。


from datetime import datetime

week = ["月", "火", "水", "木", "金", "土", "日"]

today = datetime.now()
w = today.weekday()

print(week[w] + "曜日")

木曜日

この方法なら、数字を意識せずに自然な表現で曜日を表示できます。カレンダーアプリや日付メモのような機能を作りたいときにも広く応用できます。

4. 具体的な応用例:日付と曜日をあわせて表示する

4. 具体的な応用例:日付と曜日をあわせて表示する
4. 具体的な応用例:日付と曜日をあわせて表示する

曜日がわかるようになると、日付とあわせて表示する機能も簡単に作れます。たとえば予定表やスケジュールの書き出しに利用できます。プログラムの中で日付を扱うときに曜日が入っていると、見た目のわかりやすさが大きく変わります。


from datetime import datetime

week = ["月", "火", "水", "木", "金", "土", "日"]

today = datetime.now()
day_text = today.strftime("%Y-%m-%d")
weekday_text = week[today.weekday()]

print(day_text + "(" + weekday_text + ")")

2025-01-15(水)

このように整った形式で表示すれば、画面に出したときにも見やすくなり、初心者でも安心して扱えるプログラムにできます。

5. weekday()とisoweekday()の違いと選び方

5. weekday()とisoweekday()の違いと選び方
5. weekday()とisoweekday()の違いと選び方

二つのメソッドはどちらも曜日を数字で返しますが、番号の基準が違うため注意が必要です。どちらを使うかは用途によって決めればよく、カレンダーと同じ「月曜始まりの流れ」にしたい場合はweekday()、国際標準の番号にしたい場合はisoweekday()を使います。

また、曜日の扱いはアプリやサービスの仕様によって求められる形式が異なるため、どちらかに統一しておくと後で混乱しにくくなります。たとえば月曜日を「0」ではなく「1」として扱いたい場合は、isoweekday()のほうが直感的になるでしょう。

Pythonの日時操作では、日付の計算や時刻の処理を行う際に曜日が使われることが多くあります。特に繰り返しの予定を組む機能や、平日と休日を判定したいときには曜日の判定が欠かせません。初めのうちは数字と曜日の関係を覚えるのが少し難しく感じるかもしれませんが、何度か使っていくと自然に慣れてきます。

カテゴリの一覧へ
新着記事
New1
Flask
Flask×Flask-SocketIOでチャットアプリを作る流れを初心者向けにやさしく解説
New2
Flask
Flaskアプリの作り方を基礎から学ぼう!初心者が覚えるべき開発の流れとは?
New3
Flask
Flask-WTFでファイルアップロードフォームを完全ガイド!初心者でもわかる画像やPDFのアップロード方法
New4
Flask
FlaskでCSRF対策を実装する方法!安全なフォーム送信を学ぼう
人気記事
No.1
Java&Spring記事人気No1
Django
Django環境構築の全手順を完全解説!初心者でも迷わないPython・Djangoセットアップガイド
No.2
Java&Spring記事人気No2
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.3
Java&Spring記事人気No3
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.4
Java&Spring記事人気No4
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう
No.5
Java&Spring記事人気No5
Python
Pythonでリストを文字列に変換する方法を完全ガイド!初心者でもわかるjoinの使い方
No.6
Java&Spring記事人気No6
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
No.7
Java&Spring記事人気No7
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.8
Java&Spring記事人気No8
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策