Startseite
Startseite

Ostern, PHP und Gauß

Die Formel zur Berechnung des Ostersonntags und die dadurch mögliche Ermittlung einer Reihe weiterer kirchlicher Feiertage liegt bereits in den verschiedensten Formaten vor. So schon gesehen als Excel-Datenblatt, als JavaScript-Code oder als Perl-Script. Auf dieser Seite finden Sie einen Code-Schnipsel, mit dem der Ostersonntag mit Hilfe von PHP ermittelt wird.

Praktischer Weise sind Feiertage in handelsüblichen Kalendern serienmäßig eingebaut und meist auch speziell gekennzeichnet. Eine spezielle Rolle spielen dabei der Ostersonntag und der Mathematiker, Astronom und Physiker Carl Friedrich Gauß (1777-1855). Letzterer hat einen Algorithmus bestimmt, der die Berechnung von ersterem ohne Kenntnis des Mondkalenders erlaubt. Dieser funktioniert zwar nur für die Jahre 1700 bis 2199, sollte aber für's erste ausreichen.



<?php

   
function ostersonntag($year) {

      
$J = date ("Y", mktime(0, 0, 0, 1, 1, $year));

      
$a = $J % 19;
      
$b = $J % 4;
      
$c = $J % 7;
      
$m = number_format (8 * number_format ($J / 100) + 13) / 25 - 2;
      
$s = number_format ($J / 100 ) - number_format ($J / 400) - 2;
      
$M = (15 + $s - $m) % 30;
      
$N = (6 + $s) % 7;
      
$d = ($M + 19 * $a) % 30;

      if (
$d == 29) {
         
$D = 28;
      } else if (
$d == 28 and $a >= 11) {
         
$D = 27;
      } else {
         
$D = $d;
      }

      
$e = (2 * $b + 4 * $c + 6 * $D + $N) % 7;


      
$easter = mktime (0, 0, 0, 3, 21, $J) + (($D + $e + 1) * 86400);

      return
$easter;

   }

   echo
date("Y-m-d", ostersonntag('2004'));

?>

Alternativ könnte man auch die Funktion easter_date() verwenden.

Verwendung findet diese Formel unter anderem in unserem » Online-Terminplaner.

Zurück zur » Übersicht

 

 

Google
  Web STADTAUS.com