Tippsammlung
Kleine Tippsammlung für mich und dijenige die sich auf meine Webseite verirrt haben.Archiv
Jahr
Tag(s):Feiertage berechnen
- 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.
- Ein Jahr hat 365 Tage und ein Schaltjahr wird eingeführt, wenn
- 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
- Dieser noch heute gültige "Gregorianische Kalender" legt fest:
- 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
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: - Grundkurs Programmieren in Java, Hanser Verlag, 2007
- Gausche Osterformel bei Wikipedia

Neuer Kommentar:
Advertising, etc. are not allowed, so any contribution is reviewed and approved.
* Die E-Mail wird nicht veröffentlicht / The email will not be published
** Bitte Zahl eintragen / Please enter the number