カテゴリ: C# 更新日: 2025/12/04

C#で指定した年・月の日数を取得する方法を徹底解説!DateTime.DaysInMonthの基本

C#で指定した年・月の日数を取得する方法(DateTime.DaysInMonth)
C#で指定した年・月の日数を取得する方法(DateTime.DaysInMonth)

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

生徒

「C#で、ある年や月の日数が何日あるか調べる方法ってありますか?」

先生

「もちろんありますよ。C#ではDateTime.DaysInMonthという便利な機能を使えば、すぐに調べることができます。」

生徒

「たとえば、二月が何日まであるか毎回調べるのは大変なので、自動で取得できたら助かります!」

先生

「では、実際に使い方を見ながら理解していきましょう。」

C#のDateTime.DaysInMonthとは?

C#のDateTime.DaysInMonthとは?
C#のDateTime.DaysInMonthとは?

C#のDateTime.DaysInMonthは、指定した年と月が持つ日数を簡単に取得できる便利な機能です。特に、二月は年によって日数が変わるため、人の目で確認すると間違える可能性があります。三十一日まであるのか三十日までなのか、プログラムに任せれば確実で安全です。コンピュータの計算力を利用することで、正確な結果を瞬時に得ることができ、実務でも非常に役立ちます。

日付や時間を扱う処理は、会議予定の管理やスケジュール帳のアプリ、勤怠システム、予約サイトなど、様々な場面で必要になります。こうした開発では、月の日数を正確に知ることがとても重要になります。

基本的な使い方と書き方

基本的な使い方と書き方
基本的な使い方と書き方

実際に、DateTime.DaysInMonthの基本的な使い方のコードを見てみましょう。次の例では、二〇二四年(うるう年)の二月が何日あるかを取得します。うるう年は四年に一度訪れ、二月が二十九日まであります。プログラムが自動で判定してくれるため、人が日付に詳しくなくても問題ありません。


int days = DateTime.DaysInMonth(2024, 2);
Console.WriteLine(days);

このコードを実行すると、次のように表示されます。


29

この結果のように、年と月を引数として指定するだけで、その月の日数が整数で返されます。つまり、計算する必要はなく、DateTime.DaysInMonthに任せれば一瞬で答えが得られるのです。例えば社内の勤務表を作る処理、カレンダーを自動生成する処理、予約可能日を自動で表示する処理などでとても役立ちます。

いろいろな年と月で試してみる

いろいろな年と月で試してみる
いろいろな年と月で試してみる

うるう年ではない年の二月も確認してみましょう。二〇二三年(二〇二四年の前の年)はうるう年ではありません。一般的には二十八日までしかありません。実際にプログラムを動かすことで、正しい結果が得られることを確認できます。


int days2023 = DateTime.DaysInMonth(2023, 2);
Console.WriteLine(days2023);

28

また、他の月にも利用できます。四月は三十日で、七月は三十一日です。しかし、すべて覚える必要はありません。DateTime.DaysInMonthが自動で判定してくれるため、安心して利用できます。

現実の生活で役立つ場面と例え

現実の生活で役立つ場面と例え
現実の生活で役立つ場面と例え

日数を調べる処理は、たとえるならカレンダーを毎月手書きで作るのか、自動で印刷されるカレンダーを使うのかの違いに似ています。自分で計算すると間違いが起きますが、プログラムに任せると常に正しい状態が保たれます。

たとえば会社の締め日計算、レストランの予約可能日表示、ホテルの宿泊料金計算など、月の日数が関係する場面はとても多くあります。そんなとき、DateTime.DaysInMonthを使えば確実で安全です。

例:選択された年月の日数を表示するプログラム

例:選択された年月の日数を表示するプログラム
例:選択された年月の日数を表示するプログラム

実際に、入力した年と月の日数を表示するサンプルコードを見てみましょう。


int year = 2025;
int month = 7;
int days = DateTime.DaysInMonth(year, month);

Console.WriteLine($"{year}年{month}月は{days}日まであります。");

2025年7月は31日まであります。

このように、DateTime.DaysInMonthは柔軟で使いやすく、初心者から実務者まで広く利用されています。日付を扱う作業が安全で正確になるため、プログラミングの基礎としてしっかり理解しておくと後でとても役立ちます。

カテゴリの一覧へ
新着記事
New1
C#
C#のメモリ管理とガーベジコレクションの基礎を理解しよう
New2
C#
C#の参照型と値型の違いを初心者向けにやさしく解説!
New3
C#
C#のクエリ式とメソッド式の書き換え方を完全ガイド!LINQの2つの書き方をマスター
New4
C#
C#の戻り値にタプルを使う方法!複数の値を返すテクニック
人気記事
No.1
Java&Spring記事人気No1
C#
C#で文字列が数値か判定する方法を解説!char.IsDigitやTryParseの基本
No.2
Java&Spring記事人気No2
C#
C#のLINQでOrderByを使った並び替えを完全ガイド!初心者でもわかるソート方法
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C#のrefとoutキーワードとは?引数の参照渡しを理解しよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#の引数と戻り値の基本!値を受け渡し・返す仕組みを理解しよう
No.7
Java&Spring記事人気No7
C#
C#のラムダ式の書き方と構文を初心者向けに完全解説
No.8
Java&Spring記事人気No8
C#
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方