BrückentageNRW Team-Planer

Der Rechenweg

Welche Formeln hinter den Brückentagen stecken, wo sie an ihre Grenzen kommen — und was wir bewusst nicht mitzählen.

Woher die Feiertage kommen

Neun Feiertage im Jahr hängen am Osterdatum: Karfreitag, Ostersonntag und -montag, Christi Himmelfahrt, Pfingstsonntag und -montag, Fronleichnam. Sie stehen in keinem Kalender fest, sie werden gerechnet — und zwar seit 1800 mit der Formel von Carl Friedrich Gauß.

Der Grund für den Aufwand: Ostern ist der erste Sonntag nach dem ersten Vollmond im Frühling. Damit hängt es an zwei Kreisläufen, die nicht zueinander passen — dem Sonnenjahr von 365 Tagen und dem Mondmonat von gut 29 Tagen. Gauß hat beide in eine Kette von Divisionsresten gepackt.

aJahr mod 19Stelle im 19-Jahres-Mondzyklus
kJahr div 100Jahrhundert
M(15 − p + k − q) mod 30Korrektur für den Mondlauf
d(19a + M) mod 30Abstand zum Frühlingsvollmond
e(2b + 4c + 6d + N) mod 7Abstand zum nächsten Sonntag
Ostern22. März + d + eüber den 31. hinaus läuft es in den April

Die zwei Ausnahmen, die man leicht übersieht

Die Formel hat zwei Fälle, in denen sie um eine Woche danebenliegt. Wer sie weglässt, merkt es jahrzehntelang nicht — und dann plötzlich doch. Im Zeitraum 1900 bis 2200 treten sie genau 6-mal auf:

1954 (18. April) · 1981 (19. April) · 2049 (18. April) · 2076 (19. April) · 2106 (18. April) · 2133 (19. April)

Wir rechnen beide mit. Nachgeprüft haben wir das gegen die unabhängige Formel von Meeus, Jones und Butcher: von 1583 bis 4099 keine einzige Abweichung — das ist der gesamte Zeitraum, für den der gregorianische Kalender in dieser Form gilt.

Der zweite Weg: Meeus, Jones und Butcher

Eine Formel allein beweist nichts — sie kann durchgehend falsch sein, ohne dass es auffällt. Deshalb rechnen wir dasselbe Datum ein zweites Mal, mit einem ganz anderen Verfahren: dem anonymen gregorianischen Algorithmus. Er erschien 1876 unbenannt in der Zeitschrift Nature und ist heute nach den Astronomen bekannt, die ihn verbreitet haben — Jean Meeus, Harold Spencer Jones und Samuel Butcher.

Der Unterschied zu Gauß: Dieser Weg braucht keine Ausnahmen. Was bei Gauß als zwei Sonderfälle nachträglich angeflickt wird, steckt hier in einem einzigen Zwischenwert — dem m in der Zeile unten. Ist m gleich 1, zieht die Rechnung von selbst eine Woche ab.

Hier die vollständige Rechnung für 2027, Schritt für Schritt mit den tatsächlichen Zahlen:

a= 13Jahr mod 19 — Stelle im 19-Jahres-Mondzyklus
b= 20Jahr div 100 — Jahrhundert
c= 27Jahr mod 100 — Jahr im Jahrhundert
d= 5b div 4
e= 0b mod 4
f= 1(b + 8) div 25
g= 6(b − f + 1) div 3 — Korrektur der Mondgleichung
h= 1(19a + b − d − g + 15) mod 30 — Alter des Mondes am 22. März
i= 6c div 4
k= 3c mod 4
l= 5(32 + 2e + 2i − h − k) mod 7 — Abstand zum Sonntag
m= 0(a + 11h + 22l) div 451 — fängt die zwei Ausnahmen ab
Monat= 3(h + l − 7m + 114) div 31 — 3 = März, 4 = April
Tag= 28(h + l − 7m + 114) mod 31 + 1

Ergebnis: So, 28.03. 2027 — dasselbe Datum, das auch die Gaußsche Formel liefert. Man kann es mit Papier nachrechnen; gebraucht werden nur Division mit Rest und ganzzahlige Division.

Was die beiden Wege gemeinsam haben. Beide bestimmen zuerst das Alter des Mondes zu Frühlingsbeginn (bei Gauß d, bei Meeus h) und danach den Abstand zum nächsten Sonntag (e bzw. l). Das ist die Definition von Ostern, in Arithmetik übersetzt: erster Sonntag nach dem ersten Vollmond im Frühling.

Und wo sie sich unterscheiden. Gauß rechnet mit einer Jahrhundert- korrektur (M und N) und braucht dafür die zwei Ausnahmen. Meeus verteilt dieselbe Korrektur auf f, g und m — länger zu schreiben, dafür lückenlos.

Beide Wege haben wir Jahr für Jahr gegeneinander laufen lassen: von 1583 — dem ersten vollen Jahr des gregorianischen Kalenders — bis 4099. Keine einzige Abweichung. Wenn zwei unabhängig entstandene Verfahren 2.517 Jahre lang dasselbe sagen, ist das kein Zufall mehr.

Ostern der nächsten Jahre

JahrOstersonntagChristi Himmelfahrt
2026So, 05.04.Do, 14.05.
2027So, 28.03.Do, 06.05.
2028So, 16.04.Do, 25.05.
2029So, 01.04.Do, 10.05.
2030So, 21.04.Do, 30.05.

Diese Tabelle ist nicht abgeschrieben — sie entsteht beim Aufruf dieser Seite aus derselben Funktion, die auch die Jahresseiten rechnet.

Warum ein Feiertag mehr nicht immer mehr Urlaub bringt

Die Seite sucht Zeiträume, in denen wenige Urlaubstage viele freie Tage ergeben — und stellt daraus die beste Kombination zusammen, die sich nicht überschneidet. Das klingt einfacher, als es ist.

Der naheliegende Weg wäre: das beste Verhältnis zuerst nehmen, dann das nächstbeste, und alles überspringen, was sich damit beißt. Genau so haben wir es zuerst gemacht — und es war falsch. Ein kurzer Spitzenzeitraum kann einen längeren blockieren, der insgesamt mehr bringt:

Sachsen-Anhalt, Januar 2027. Der 6. Januar ist dort Feiertag. Das Fenster 1.–6. Januar braucht 2 Urlaubstage und bringt 6 freie — Verhältnis 3,0, das beste weit und breit. Nimmt man es zuerst, blockiert es „Zwischen den Jahren" (4 Urlaubstage → 10 frei) und den Anschluss danach (2 → 5). Zusammen wären 6 Urlaubstage → 15 freie drin gewesen, der gierige Weg holt nur 6.

Sichtbar wurde das erst, als die Seite alle sechzehn Länder nebeneinander rechnete: Sachsen-Anhalt hatte mehr Feiertage als Bremen und zeigte trotzdem weniger freie Tage.

Gelöst wird es mit dem klassischen Verfahren für sich nicht überschneidende Zeiträume (weighted interval scheduling): alle Fenster nach ihrem Ende sortieren, dann von hinten nach vorn für jedes Fenster das Beste aus zwei Möglichkeiten merken — mitnehmen (plus das Beste, was davor noch passt) oder auslassen. Das ist kein Schätzen, das ist exakt.

vor(i)letztes Fenster, das vor i endetwas sich mit i noch verträgt
best(i)max( best(i−1), frei(i) + best(vor(i)) )auslassen oder mitnehmen

Gegenprobe: Für jedes Paar von Bundesländern, bei dem eines alle Feiertage des anderen hat und noch mindestens einen dazu, muss es auch mindestens so viele freie Tage bekommen. Über die Jahre 2026 bis 2030 sind das 159 solcher Paare — seit der Umstellung ohne einen einzigen Verstoß.

Was ein Brückentag überhaupt ist

Wir bewerten nicht den einzelnen Tag, sondern die ganze Lücke zwischen zwei arbeitsfreien Blöcken. Der Duden nennt einen Brückentag „einen zwischen einem Feiertag und einem Wochenende liegenden Arbeitstag" — das trifft eine Lücke von einem oder zwei Tagen. Wird die Lücke größer, ist es kein Brückentag mehr, sondern ein Urlaubsfenster.

LückeWas es ist
1–2 ArbeitstageBrückentag
3–4 ArbeitstageUrlaubsfenster
ab 5 Arbeitstageneine normale Woche — wird nicht ausgezeichnet

Gerechnet wird immer über die Jahresgrenze hinweg: Ohne die Feiertage des Vor- und Folgejahres würde der 27. Dezember als gewöhnlicher Arbeitstag gelten, obwohl links und rechts davon frei ist.

Wie weit der Kalender reicht

1583–4099Zeitraum, in dem unsere Osterformel nachweislich stimmt
2020–2036Jahre, die die Seite ausliefert
bis 2030so weit haben alle 16 Länder ihre Schulferien veröffentlicht
692Ferienblöcke in der Datei, aus amtlicher Quelle geholt
16Bundesländer mit eigener Feiertagsregel
0Abweichungen im letzten Abgleich gegen die amtliche Quelle

Wogegen wir das prüfen

Eine Quelle ist kein Beleg. Deshalb prüfen wir gegen zwei unabhängige Wege:

Feiertage rechnen wir selbst, damit auch ferne Jahre stimmen. Schulferien lassen sich nicht rechnen — die legen die Kultusministerien fest. Die holen wir aus einer amtlich gespeisten Quelle und legen sie als Datei ab, damit die Seite im Betrieb von niemandem abhängt. Jede Änderung daran ist im Versionsverlauf sichtbar, bevor sie hier ankommt.

Zwei Dinge, die wir bewusst nicht mitzählen

Manche Tage sind nur in Teilen eines Landes frei: Mariä Himmelfahrt gilt in Bayern nur in überwiegend katholischen Gemeinden, das Friedensfest am 8. August nur in Augsburg, Fronleichnam in Sachsen und Thüringen nur in einzelnen Gemeinden. Wir führen sie als Fußnote auf der jeweiligen Landesseite, rechnen sie aber nicht als freien Tag. Sonst plant jemand mit einem Tag, den sein Betrieb nicht hat.

Und einmalige Landesfeiertage — etwa Berlin am 8. Mai 2020 und 2025 oder am 17. Juni 2028 — folgen keiner Regel. Die stehen als kurze Liste im Code, weil sie sich nicht herleiten lassen.