Feedback

SchaltjahrTest

Sprache: C#

Überprüfung ob ein Jahr ein Schaltjahr ist.
namespace Schaltjahr
{
    class Schaltjahr
    {
        public bool SchaltjahrTest(int Jahr)
        {
            bool Schaltjahr = false;
            if (((Jahr% 4) == 0)&&((Jahr%100)!=0))
            {
                Schaltjahr = true;
            }
            else if(((Jahr%4)==0)&&((Jahr%400)==0))
            {
                Schaltjahr = true;
            }
            return Schaltjahr;
        }
    }
}
namespace Schaltjahr
{
    class Schaltjahr
    {
        public bool SchaltjahrTest(int Jahr)
        {
            bool Schaltjahr = false;
            if (((Jahr% 4) == 0)&&((Jahr%100)!=0))
            {
                Schaltjahr = true;
            }
            else if(((Jahr%4)==0)&&((Jahr%400)==0))
            {
                Schaltjahr = true;
            }
            return Schaltjahr;
        }
    }
}

2 Kommentare

  1. Wie wär’s mit [code]return new DateTime(Jahr, 12, 31).DayOfYear == 366;[/code]?

    Ist lesbarer und sollte auch noch mit dem gelegentlichen nicht-Schaltjahr funktionieren, das durch die Formel fällt (weil ein Jahr eben nicht exakt 365.2425 Tage hat, sondern nur etwas über 365.2421).

  2. Hallo,

    Das DateTime Objekt bietet hierfür eine Methode von Haus aus an.
    [code]return DateTime.IsLeapYear(year)[/code]

    Es ist zu Empfehlen, dass man sich die .NET Methoden von Objekten und damit Verbundenen Objekten (z.B. DateTime & TimeSpan) immer genau anschaut, bevor man eine Neuimplementierung vornimmt. Da diese stehts Zeit kosten und gegebenenfalls auch Nerven.

    Gruß Martin