Feiertage berechnen
Feiertage berechnen
Tool der WocheDie Feiertage sind vorüber und ich fragte mich ob es möglich ist, das man Ostern Mathematisch errechnen kann. Meine Recherchen ergaben einige interessante Gegebenheiten:
  • Das 1. Kirchenkonzil im Jahre 325 hat festgelegt:
    • Ostern ist stets am ersten Sonntag nach dem ersten Vollmond des Frühlings.
    • Stichtag ist der 21. März, die "Frühlings-Tagundnachtgleiche".
  • Am 15.10.1582 wurde Papst Gregor XIII. der bis dahin gültige Julianische Kalender reformiert.
    • Dieser noch heute gültige "Gregorianische Kalender" legt fest:
      • Ein Jahr hat 365 Tage und ein Schaltjahr wird eingeführt, wenn
        • das Jahr durch 4 oder durch 400, aber nicht durch 100 teilbar ist.
    • Hieraus ergeben sich die zwei notwendigen Konstanten, um den Ostersonntag zu berechnen:
      • Die Jahreslänge von und bis zum Zeitpunkt der Frühlings-Tagundnachtgleiche: 365,2422 mittlere Sonnentage
      • Ein Mondmonat: 29,5306 mittlere Sonnentage
Daneben gibt es folgende Konstanten:
  • Aschermittwoch ist 46 Tage vor Ostern
  • Pfingsten ist 49 Tage nach Ostern
  • Christi Himmelfahrt ist 10 Tage vor Pfingsten
  • Fronleichnam ist 11 Tage nach Pfingsten
Carl Friedrich Gauß (1777-1855) entwickelte im Jahre 1800 die "Osterformel". Damit lässt sich der Ostersonntag für jedes Jahr, von 1583 bis 8202 berechnen. So nahm ich einen Java Code und schrieb ihn in Csharp Code um.

Hier das fertige Skript oder hier direkt zum ausprobieren.
 
string getOsterInt2(int intYear)
{
int a = intYear % 19;
int b = intYear % 4;
int c = intYear % 7;

int m = (8*(intYear / 100) + 13) / 25 - 2;
int s  = (intYear / 100) - (intYear / 400) - 2;

int M = (15 + s - m) % 30;
int N = (6 + s) % 7;
int d = (M + 19 * a) % 30;

int D=d;
int monat = 4;
if(d==29) D =28;
if((d==28)&&(a>=11)) D =27;
int e = (2 * b + 4 * c + 6 * D + N) % 7;

int tag = (21 + D + e + 1 );
if(tag>31)
{	tag = tag % 31;
	monat = 4;
}
else
	monat = 3;

DateTime DtOstern = new System.DateTime(intYear,monat,tag);
DateTime DtPfingsten = DtOstern.AddDays(49);
DateTime DtAschermittwoch = DtOstern.AddDays(-46);
DateTime DtHimmelfahrt = DtPfingsten.AddDays(-10);
DateTime DtFronleichnam = DtPfingsten.AddDays(11);

string retValue = "Aschermittwoch: " + formatDate(DtAschermittwoch)  + 
", Ostern: " + formatDate(DtOstern) + "" +
", Pfingsten: " + formatDate(DtPfingsten)  + "" +
", Fronleichnam: " + formatDate(DtFronleichnam)  + "";

return retValue;
}
string formatDate(DateTime dt)
{
string[] myMonth = {"Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"};
string retValue = dt.Day + ". " + myMonth[dt.Month-1]+ ". " +dt.Year;
return retValue;
}


Quellen:


Kein Bild

Nichts gefunden

Es wurde zur Story Feiertage berechnen kein Kommentar gefunden

Information

Werbung oder Ähnliches sind nicht erlaubt, daher wird jeder Beitrag geprüft und freigegeben.
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
Facebook-Webadress are not allowed, Facebook als Webadresse ist nicht erlaubt


* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number
Ihr Kommentar
?
?
captcha Image?
?
 
×

...auch noch interessant

Tippsammlung

Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.

Archiv

JahrArchiv
Tag(s):