カテゴリ: Python 更新日: 2026/02/17

Pythonで特定の年・月の日数を取得する方法を完全解説!初心者でもわかるcalendar.monthrange()

Pythonで特定の年・月の日数を取得する方法(calendar.monthrange())
Pythonで特定の年・月の日数を取得する方法(calendar.monthrange())

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

生徒

「Pythonで、今月が何日まであるかを調べることってできますか?」

先生

「できますよ。Pythonにはカレンダーを扱うための便利な仕組みが用意されています。」

生徒

「2月って年によって28日だったり29日だったりしますよね。それも自動で分かるんですか?」

先生

「はい。calendar.monthrange()という機能を使えば、人が考えなくても正しい日数を教えてくれます。」

生徒

「パソコンをほとんど触ったことがなくても大丈夫ですか?」

先生

「もちろんです。画面の見方から、コードの意味まで一つずつ説明します。」

1. Pythonで日付やカレンダーを扱うとは?

1. Pythonで日付やカレンダーを扱うとは?
1. Pythonで日付やカレンダーを扱うとは?

Python(パイソン)は、初心者でも読みやすく、やさしい書き方ができるプログラミング言語です。Pythonでは、日付や時間、カレンダーといった「日時操作(にちじそうさ)」も簡単に行えます。

日時操作とは、「今日は何年何月何日か」「この月は何日まであるか」といった、カレンダーに関する計算をプログラムで行うことです。紙のカレンダーを見る代わりに、パソコンに聞くようなイメージです。

2. calendarモジュールとは何か

2. calendarモジュールとは何か
2. calendarモジュールとは何か

モジュールとは、便利な道具がひとまとめになった箱のようなものです。Pythonには最初からたくさんのモジュールが用意されています。

calendarモジュールは、カレンダーに関する計算をしてくれる道具箱です。月の日数を調べたり、曜日を計算したりすることができます。

まずは、このcalendarモジュールを「使いますよ」とPythonに伝える必要があります。


import calendar

この1行は、「calendarという道具箱を使えるようにする」という意味です。

3. calendar.monthrange()の基本的な使い方

3. calendar.monthrange()の基本的な使い方
3. calendar.monthrange()の基本的な使い方

calendar.monthrange()は、「指定した年と月の情報」を教えてくれる機能です。ここでは特に「その月が何日まであるか」を知るために使います。

使い方はとてもシンプルで、「年」と「月」を数字で指定します。


import calendar

result = calendar.monthrange(2024, 2)
print(result)

このコードでは、「2024年2月」の情報を調べています。


(3, 29)

表示された「(3, 29)」は2つの意味があります。前の数字は曜日、後ろの数字が月の日数です。つまり、2024年2月は29日まであることが分かります。

4. 月の日数だけを取り出す方法

4. 月の日数だけを取り出す方法
4. 月の日数だけを取り出す方法

初心者の方は、「曜日はいらないから、日数だけ知りたい」と思うことが多いです。その場合は、2番目の数字だけを取り出します。

Pythonでは、数字の集まりから特定の位置の値を取り出すことができます。


import calendar

year = 2023
month = 11

week, days = calendar.monthrange(year, month)
print(days)

30

この例では、2023年11月が30日まであることが分かります。weekは曜日、daysが日数です。

5. うるう年でも正しく計算できる理由

5. うるう年でも正しく計算できる理由
5. うるう年でも正しく計算できる理由

2月の日数が変わる年を「うるう年」と言います。人が手で計算すると間違えやすい部分ですが、Pythonなら心配ありません。

calendar.monthrange()は、内部で正しいカレンダーのルールを使って計算しています。


import calendar

print(calendar.monthrange(2023, 2)[1])
print(calendar.monthrange(2024, 2)[1])

28
29

このように、年を変えるだけで自動的に正しい日数が表示されます。

6. 実生活に近いイメージで理解しよう

6. 実生活に近いイメージで理解しよう
6. 実生活に近いイメージで理解しよう

calendar.monthrange()は、「この年のこの月のカレンダーを見せて」とパソコンにお願いするようなものです。

人間がカレンダーをめくって確認する代わりに、Pythonが一瞬で調べてくれます。特に、家計簿、シフト表、予約システムなどで月末日を知りたいときに役立ちます。

7. よくある間違いと注意点

7. よくある間違いと注意点
7. よくある間違いと注意点

月は「1月〜12月」を「1〜12」で指定します。「0」や「13」を入れるとエラーになります。

また、calendarモジュールをimportし忘れると動きません。エラーが出たときは、まず最初のimportを確認しましょう。

8. 初心者が覚えておきたいポイント

8. 初心者が覚えておきたいポイント
8. 初心者が覚えておきたいポイント

・calendar.monthrange(年, 月)で月の日数が分かる

・結果は「曜日」と「日数」の2つがセットで返ってくる

・2番目の数字が、その月の最大日数

この3つを覚えておくだけで、Pythonの日時操作の第一歩は十分です。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPとは?初心者向けにわかりやすく解説
New2
Python
Pythonの数値型を完全ガイド!整数と浮動小数点数の違いを初心者向けに解説
New3
PHP
PHPで学ぶGraphQL API入門!初心者でもわかる実装ステップと使い方
New4
PHP
PHPのHTTPリクエスト処理を完全ガイド!初心者でもわかるcURLとfile_get_contents
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.2
Java&Spring記事人気No2
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.3
Java&Spring記事人気No3
Python
Pythonのfinally文を徹底解説!例外発生時でも実行される処理の書き方と使い方
No.4
Java&Spring記事人気No4
Python
Pythonとは?初心者向けにわかりやすく解説!インストール方法も紹介
No.5
Java&Spring記事人気No5
PHP
PHPでREST APIを作る方法を完全ガイド!初心者でもわかるAPI開発入門
No.6
Java&Spring記事人気No6
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.7
Java&Spring記事人気No7
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.8
Java&Spring記事人気No8
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド