ここではC#で西暦年が閏年(うるう年)か判定する方法について紹介します。
目次
閏年の判定のルール
閏年は以下の条件が成立する必要があります。
- 西暦年が4で割り切れる。
- ただし、100で割り切れたら閏年ではない。
- 100で割り切れて、400でも割り切れたら閏年である。
if文で判定する
この条件をif文で記述すると以下のようになります。
(西暦年% 4 == 0 && (西暦年 % 100 != 0 || 西暦年 % 400 == 0))
以下はif文で閏年を判定する例です。コンソールから西暦年を入力して閏年を判定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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メソッドで閏年を判定する例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Console.Write( "西暦年を入力してください:" ); string strYear = Console.ReadLine(); int intYear = int .Parse(strYear); // 西暦年から閏年を判定する if (DateTime.IsLeapYear(intYear)) { Console.WriteLine(intYear + "は閏年です。" ); } else { Console.WriteLine(intYear + "は閏年ではありません。" ); } |
以上、C#で西暦年が閏年(うるう年)か判定する方法について解説しました。