カテゴリ: 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
Python
Pythonで時間のフォーマットをISO 8601に変換する方法をやさしく解説|初心者向け日時操作入門
New2
PHP
PHPのexplodeとimplodeの使い方を完全解説!初心者でもわかる文字列と配列の変換方法
New3
PHP
PHPの数値計算を完全解説!初心者でもわかる四則演算とMath関数の使い方
New4
Python
Pythonのカスタム例外を完全ガイド!初心者でもわかる独自Exceptionクラスの作り方
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでリストを分割する方法(スライス / split() / itertools)
No.2
Java&Spring記事人気No2
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
Java&Spring記事人気No3
PHP
PHPのCookieの管理方法とクライアントサイドのデータ保持の基本とベストプラクティス
No.4
Java&Spring記事人気No4
PHP
PHP のコンストラクタ(__construct)とは?使い方を解説
No.5
Java&Spring記事人気No5
PHP
PHPのプリペアドステートメントを完全ガイド!初心者でも分かるSQLインジェクション対策
No.6
Java&Spring記事人気No6
Python
Pythonの書き方を基本から解説!はじめてのPythonプログラム
No.7
Java&Spring記事人気No7
PHP
PHP の型宣言(strict_types の使い方)を徹底解説!初心者でもわかる型の指定方法
No.8
Java&Spring記事人気No8
PHP
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-
-