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

Pythonで月末・月初を取得する方法を解説!初心者でもわかるcalendarモジュールの使い方

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

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

生徒

「Pythonで毎月の最初の日とか、最後の日って簡単に出せるんですか?」

先生

「もちろんできますよ!Pythonのcalendarモジュールを使えば、月初や月末の日付を簡単に取得できます。」

生徒

「月末って何日になるか毎月バラバラですよね。どうやって調べてるんですか?」

先生

「いい質問ですね!それじゃあ実際に、calendarモジュールの使い方を一緒に見ていきましょう。」

-

1. 月初・月末とは?Pythonでどう使う?

1. 月初・月末とは?Pythonでどう使う?
1. 月初・月末とは?Pythonでどう使う?

「月初(げっしょ)」とは、その月の1日、つまり「最初の日」のことです。一方、「月末(げつまつ)」はその月の「最後の日」のことです。たとえば、2024年2月の月初は2月1日、月末は2月29日になります。

毎月の日数は違いますよね?だから自動で「月末の日にち」を出せたら便利です。Pythonではcalendarモジュールを使えば、こうした計算がかんたんにできます。

2. calendarモジュールの基本とは?

2. calendarモジュールの基本とは?
2. calendarモジュールの基本とは?

calendarモジュールは、Pythonに標準で入っているカレンダー関連の機能です。インストールなしで使えて、「その月が何日あるか」「曜日は何か」などを調べることができます。

月末の日を知りたいときはcalendar.monthrange()という関数を使います。これは「年」と「月」を渡すと、「その月の最初の曜日」と「その月の日数(末日)」を返してくれます。

3. 月末を取得する基本コード

3. 月末を取得する基本コード
3. 月末を取得する基本コード

それでは、実際に月末の日付を取得するPythonコードを見てみましょう。例として2025年9月の月末を求めます。


import calendar

year = 2025
month = 9

# 月末を取得
_, last_day = calendar.monthrange(year, month)

print(f"{year}年{month}月の月末は{last_day}日です")

2025年9月の月末は30日です

calendar.monthrange()は、2つの値を返します。最初は「月初の曜日」、2つ目が「月の日数」です。月末を知りたいなら、2つ目の値だけを使えばOKです。

4. 月初を取得する方法も知っておこう

4. 月初を取得する方法も知っておこう
4. 月初を取得する方法も知っておこう

月初の日付は毎月「1日」ですので、特別な関数を使わなくても簡単にわかります。ただし、年月とセットで扱いたいときはdatetime.dateを使って「年月日」の形で持っておくと便利です。


import datetime

year = 2025
month = 9

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

print("月初は", first_day)

月初は 2025-09-01

このように、1日を指定するだけで月初の日付が表現できます。

-

5. 月末の日付をdatetime形式で取得する方法

5. 月末の日付をdatetime形式で取得する方法
5. 月末の日付をdatetime形式で取得する方法

カレンダーの末日だけでなく、日付として扱いたい場合は、datetime.dateと組み合わせましょう。


import calendar
import datetime

year = 2025
month = 9

_, last_day = calendar.monthrange(year, month)
end_date = datetime.date(year, month, last_day)

print("月末の日付は", end_date)

月末の日付は 2025-09-30

datetime.dateは年月日を扱う便利なクラスで、日付の比較や計算もできます。

6. 現在の月の月末・月初を自動取得する

6. 現在の月の月末・月初を自動取得する
6. 現在の月の月末・月初を自動取得する

その時その時の「今の年月」を使って、月初・月末を取得したい場合は、datetime.datetime.today()を使って今日の日付を取得し、そこから計算します。


import calendar
import datetime

today = datetime.date.today()
year = today.year
month = today.month

# 月初と月末
first_day = datetime.date(year, month, 1)
_, last = calendar.monthrange(year, month)
last_day = datetime.date(year, month, last)

print("月初:", first_day)
print("月末:", last_day)

月初: 2025-09-01
月末: 2025-09-30

このように、現在の年月からも簡単に月初・月末を求めることができます。

7. 月末の日付を使ったよくある用途

7. 月末の日付を使ったよくある用途
7. 月末の日付を使ったよくある用途

月末や月初の日付は、実際の業務やアプリでもよく使われます。たとえば:

  • 給料計算の日付チェック
  • スケジュールの締め切り処理
  • 月末のログ出力や集計

人間だと「今月末は何日だっけ?」とカレンダーを見て確認しますが、プログラムに任せれば自動で正確に処理できます。

8. calendarモジュールで他にできること

8. calendarモジュールで他にできること
8. calendarモジュールで他にできること

calendarモジュールは月末だけでなく、次のような便利機能もあります。

  • calendar.isleap(year):うるう年かどうかを判定
  • calendar.weekday(year, month, day):その日が何曜日か
  • calendar.monthcalendar(year, month):その月のカレンダー表をリストで取得

日付の処理は、datetimeモジュールとcalendarモジュールをうまく組み合わせて使うのがコツです。

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

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

関連記事:
カテゴリの一覧へ
新着記事
New1
PHP
PHPのCookieセキュリティを完全ガイド!初心者でもわかるSecureとHttpOnlyの使い方
New2
PHP
PHPのCSRF対策を完全理解!トークンを使った安全なフォーム送信の仕組みを初心者向けに徹底解説
New3
PHP
PHPのSQLインジェクション対策を完全解説!初心者でも安全にデータベースを扱う方法
New4
PHP
PHPでカウントダウンタイマーを作る方法!初心者向けにやさしく解説
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
Java&Spring記事人気No2
PHP
初心者向けPHPでMySQLからデータを取得する方法(SELECT文)完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonのリストの重複を削除する方法を解説!初心者向けにsetとdict.fromkeysの使い方をやさしく説明
No.4
Java&Spring記事人気No4
PHP
PHPのXSS対策を完全ガイド!初心者でもわかる安全なWebアプリの作り方
No.5
Java&Spring記事人気No5
Python
Pythonで経過時間を測る方法をやさしく解説!初心者向けtime.perf_counterとtime.sleepの使い方
No.6
Java&Spring記事人気No6
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.7
Java&Spring記事人気No7
PHP
PHPのOAuth認証をやさしく解説!Google・Facebookログインを初心者向けに実装しよう
No.8
Java&Spring記事人気No8
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
-
-