MCPで接続 →

計算を入力してください

公式

公式: 月の日数計算ツール
Show calculation steps (1)
  1. Leap year test

    Leap year test: 月の日数計算ツール

    L = 1 (Feb has 29 days) when the year is divisible by 4 but not 100, unless also divisible by 400.

広告

結果

この月の日数
29
閏年ですか? Yes

月の日数計算ツールとは?

このツールは、どの年のどの月でも、その月が何日あるかを正確に教えてくれます。多くの月は日数が決まっていて、1月は必ず31日、4月は必ず30日です。しかし2月だけは、その年が閏年(うるう年)かどうかによって28日か29日に変わります。本ツールは、グレゴリオ暦の正しい閏年ルールを使って、その判定を瞬時に行います。

使い方

プルダウンから月を選び、年を入力して送信するだけです。結果には、その月の日数と、選んだ年が閏年かどうかが表示されます。試しに「2024年2月」と「2023年2月」を比べてみると、違いがよくわかります。

計算式の仕組み

各月の日数は、次のような一覧表(ルックアップテーブル)にあらかじめ格納されています:$$\text{days} = [31, 28+L, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]_{\,month-1}$$これを \(month - 1\) の位置で参照します。変動するのは2月だけで、その年が条件を満たす場合に閏日(\(L\))として +1 されます。閏年の条件は、年が4で割り切れることです。ただし、100で割り切れる「世紀年」は例外で、さらに400でも割り切れる必要があります。閏年の判定は次の式で行われます:$$L = (y \bmod 4 = 0) \land (y \bmod 100 \neq 0 \lor y \bmod 400 = 0)$$そのため2000年は閏年でしたが、1900年は閏年ではありませんでした。

広告
12か月分のブロックにそれぞれ日数を表示、2月を強調
各月の日数は固定で、2月だけは閏年に1日増えます。

計算例

2024年2月の場合:\(2024 \div 4 = 506\) で余りがなく、しかも世紀年ではないため閏年です(\(L = 1\))。表より $$28 + 1 = 29 \text{ 日}$$ となります。一方、2023年2月は \(L = 0\) なので28日です。

2月が28日か29日になる閏年ルールのフローチャート
閏年のルール:4で割り切れ、100で割り切れる場合は400でも割り切れるときのみ、2月は29日になります。

よくある質問

なぜ2月は年によって29日になるのですか? 太陽年は約365.24日のため、暦と地球の公転をずれないように保つには、およそ4年に一度、1日を追加する必要があるからです。

2100年は閏年ですか? いいえ。2100年は100で割り切れますが400では割り切れないため、2100年2月は28日になります。

必ず31日ある月はどれですか? 1月、3月、5月、7月、8月、10月、12月です。

最終更新: