Mathematikproblem

OP #2862968
Lesenswert?

Moin libe Gemeinde,

hab da nen kleines Problem oder ich seh den Wald vor Bäumen nicht...

also...

ich habe ne Zahlenreihe (Jahr): 2000, 2004, 2008, 2012, 2016, 2020....

nun will ich abhängig von der laufenden Jahreszahl im Programm 
herausfinden, ob gerade ein Schaltjahr ist oder nicht. Wie könnte man(n) 
das Thema angehen? Gibt es irgend eine mathematische Formel....o.ä.?
Grüße MAT
Gast #2862979
Lesenswert?

Die aller einfachste Methode ist, dass du in deinem Kalender alle 
Schaltjahre für das nächste Jahrtausend hinterlegst. Oder du guckst ob 
wann zuletzt ein Schaltjahr gewesen ist, und teilst durch Modulo 4. 
Immer wenn dein Aktuelles Jahr modulo 4 der selben Rest hat, wie dein 
letztes Schaltjahr, dann is wieder eins! Hoffe das stimmt auch...


Ingo
Gast #2862980
Lesenswert?

Schonmal einen Blick auf den entsprechenden Wikipedia Artikel geworfen? 
Siehe hier (http://de.wikipedia.org/wiki/Schaltjahr).

Dort heißt es z.B.:

> Im Gregorianischen Kalender, der in fast allen Teilen der Welt allgemein
> gebraucht wird, ist außer dreimal in 400 Jahren jedes vierte Jahr ein
> Schaltjahr.

Und:

> Außerdem wurde die julianische Schalttagsregelung um eine Ausnahme-
> Vorschrift ergänzt, der zufolge die Jahre 1700, 1800 und 1900 keine
> Schalttage enthielten. Nach der neuen Schaltregel sind diejenigen
> Säkularjahre, deren Zahl dividiert durch 400 keine natürliche Zahl ergibt,
> auch keine Schaltjahre. Dies war bei den Säkularjahren 1700, 1800 und 1900
> der Fall. Nur noch jedes vierte Säkularjahr (zum Beispiel das Jahr 2000)
> ist somit ein Schaltjahr geblieben. Das gregorianische Kalenderjahr hat
> eine durchschnittliche Länge von 365,2425 Tagen. Der Fehler hat sich auf 1
> Tag in mehr als 3000 Jahren verringert, so dass voraussichtlich erst im
> Jahre 4800 ein Schalttag zusätzlich entfallen muss, um das Kalender-Datum
> 21. März in der Nähe des Zeitpunkts des Primar-Äquinoktiums zu
> positionieren.

In erster Näherung ist also Modulo 4 ganz gut, vorallem lässt sich das 
recht einfach in Binärdarstellung ausrechnen. Und bis die "Formel" nicht 
mehr zutrifft, läuft dein Projekt vermutlich sowieso nicht mehr ;).
Gast #2862982
Lesenswert?

Also um heraus zu finden, ob das Jahr ein Schaltjahr ist, musst du das 
Jahresdatum durch 4 teilen können (ohne Rest :-P)

Theoretisch einfach den modulo von deiner Jahreszahl und 4 bilden und 
wenn 0 herraus kommt ist es ein Schaltjahr

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren