ここでは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#で西暦年が閏年(うるう年)か判定する方法について解説しました。