ここではC#で西暦年が閏年(うるう年)か判定する方法について紹介します。

閏年の判定のルール

閏年は以下の条件が成立する必要があります。

  • 西暦年が4で割り切れる。
  • ただし、100で割り切れたら閏年ではない。
  • 100で割り切れて、400でも割り切れたら閏年である。


if文で判定する

この条件をif文で記述すると以下のようになります。

(西暦年% 4 == 0 && (西暦年 % 100 != 0 || 西暦年 % 400 == 0))

以下はif文で閏年を判定する例です。コンソールから西暦年を入力して閏年を判定します。

Console.Write("西暦年を入力してください:");

string strYear = Console.ReadLine();
int intYear = int.Parse(strYear);

// 西暦年から閏年を判定する
if (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0))
{
    Console.WriteLine(intYear + "は閏年です。");
}
else
{
    Console.WriteLine(intYear + "は閏年ではありません。");
}


DateTime.IsLeapYearメソッドで判定する

DateTime.IsLeapYearメソッドは指定された年が閏年の場合はTrue返します。

以下はDateTime.IsLeapYearメソッドで閏年を判定する例です。

Console.Write("西暦年を入力してください:");

string strYear = Console.ReadLine();
int intYear = int.Parse(strYear);

// 西暦年から閏年を判定する
if (DateTime.IsLeapYear(intYear))
{
    Console.WriteLine(intYear + "は閏年です。");
}
else
{
    Console.WriteLine(intYear + "は閏年ではありません。");
}


以上、C#で西暦年が閏年(うるう年)か判定する方法について解説しました。