Feedback

C# - SchaltjahrTest

Veröffentlicht von am 11.11.2015
(2 Bewertungen)
Ü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;
        }
    }
}
Abgelegt unter Schaltjahr.

2 Kommentare zum Snippet

Nuffin schrieb am 11.11.2015:
Wie wär's mit
return new DateTime(Jahr, 12, 31).DayOfYear == 366;
?

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).
Martin Stühmer schrieb am 12.11.2015:
Hallo,

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


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
 

Logge dich ein, um hier zu kommentieren!