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

Pythonで月末・月初を取得する方法を完全解説!calendarモジュールで日時操作をやさしく理解

Pythonで月末・月初を取得する方法(calendar モジュールの活用)
Pythonで月末・月初を取得する方法(calendar モジュールの活用)

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

生徒

「Pythonで月末の日付を自動で取得したいんですが、どうすればいいですか?」

先生

「Pythonには、月の日数を調べられる便利な仕組みがあります。カレンダーを見る感覚で扱えるので安心してください。」

生徒

「月初も一緒に取得できますか?パソコン操作もほとんど分からなくて…」

先生

「大丈夫です。パソコンが苦手な方でも分かるように、基本から順番に説明します。」

-

1. Pythonの日時操作とは?

1. Pythonの日時操作とは?
1. Pythonの日時操作とは?

Pythonの日時操作とは、「今日の日付を知る」「月末の日を調べる」といった、日付や時間をプログラムで扱うことです。普段、紙のカレンダーで日付を確認する作業を、Pythonに代わりにやってもらうイメージです。

特に「月末」や「月初」は、給料計算、請求書作成、スケジュール管理などでよく使われます。人が手で数えると間違えやすいですが、Pythonなら正確に処理できます。

2. calendarモジュールとは?

2. calendarモジュールとは?
2. calendarモジュールとは?

calendarモジュールとは、Pythonに最初から用意されている「カレンダー専用の道具箱」です。モジュールとは、便利な機能がまとめられた部品のようなものです。

このモジュールを使うと、「その月が何日まであるか」「うるう年かどうか」といった情報を簡単に取得できます。紙のカレンダーをめくる代わりに、Pythonが答えてくれます。

3. calendarモジュールを使う準備

3. calendarモジュールを使う準備
3. calendarモジュールを使う準備

Pythonでcalendarモジュールを使うには、最初に「使います」と宣言します。これをインポートと呼びます。難しく考えず、「道具を取り出す合図」だと思ってください。


import calendar

この1行を書くだけで、calendarモジュールの機能が使えるようになります。

4. 月末の日付を取得する方法

4. 月末の日付を取得する方法
4. 月末の日付を取得する方法

月末とは、その月の一番最後の日のことです。例えば、4月なら30日、2月なら28日や29日です。

calendarモジュールのmonthrangeという機能を使うと、「その月の最終日」が数字で分かります。


import calendar

year = 2024
month = 2

last_day = calendar.monthrange(year, month)[1]
print(last_day)

29

ここで出てくる「[1]」は、「結果の中の2番目を使う」という意味です。monthrangeは、曜日と日数をセットで返すため、このような書き方になります。

-

5. 月初の日付を取得する方法

5. 月初の日付を取得する方法
5. 月初の日付を取得する方法

月初とは、毎月必ず「1日」です。そのため、Pythonでは特別な計算をしなくても、数字の「1」を使えばOKです。

ただし、「日付」として扱う場合は、datetimeモジュールと組み合わせると便利です。


import datetime

year = 2024
month = 5

first_day = datetime.date(year, month, 1)
print(first_day)

2024-05-01

このように書くと、「〇年〇月〇日」という正式な日付データとして扱えます。

6. 月初と月末を同時に取得する

6. 月初と月末を同時に取得する
6. 月初と月末を同時に取得する

実務では、月初と月末をセットで使うことがよくあります。calendarとdatetimeを組み合わせると、まとめて取得できます。


import calendar
import datetime

year = 2024
month = 7

first_day = datetime.date(year, month, 1)
last_day = datetime.date(year, month, calendar.monthrange(year, month)[1])

print(first_day)
print(last_day)

2024-07-01
2024-07-31

「月初は1日」「月末はcalendarで調べる」と覚えると、混乱しにくくなります。

7. なぜcalendarモジュールを使うのか

7. なぜcalendarモジュールを使うのか
7. なぜcalendarモジュールを使うのか

月の日数は毎月違い、2月はうるう年で変わります。人が覚えるのは大変ですが、calendarモジュールなら自動で判断してくれます。

特に初心者の方ほど、「自分で計算しない」ことが大切です。Pythonに任せることで、ミスを防げます。

8. 初心者がつまずきやすいポイント

8. 初心者がつまずきやすいポイント
8. 初心者がつまずきやすいポイント

よくある間違いは、「月末は30日だと思い込む」「2月を固定で28日にする」ことです。これでは正しい結果になりません。

calendarモジュールを使えば、こうした思い込みをせず、正確な月末・月初を取得できます。パソコン操作に慣れていなくても、決まった書き方をそのまま使えば問題ありません。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
Pythonのタプルの要素を変更できない理由とその回避策を初心者向けに解説
New2
Python
Pythonのタプルとは?リストとの違いと使い分けを解説
New3
Python
Pythonのラムダ式(lambda)とは?無名関数の使い方と活用例
New4
PHP
PHP の日時のフォーマット変更(format, modify)を完全解説!初心者向け解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
PHP
PHPのCookieのSecure, HttpOnly, SameSite設定を初心者向けに解説
No.3
Java&Spring記事人気No3
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.4
Java&Spring記事人気No4
PHP
PHP のコンストラクタ(__construct)とは?使い方を解説
No.5
Java&Spring記事人気No5
Python
Pythonの変数宣言の方法とは?型ヒント(type hints)の使い方を初心者向けに解説!
No.6
Java&Spring記事人気No6
PHP
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.7
Java&Spring記事人気No7
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.8
Java&Spring記事人気No8
PHP
PHPのCookieセキュリティ対策をやさしく解説!XSSとHTTPSで安全にログイン情報を守る方法
-
-