Funktion: wochentag()
scheitert bei PHP 5.3 von 1&1 an: gregoriantojd()
 
<?PHP

// wochentag() ------------------------------------------------------------------ mit gregoriantojd //
// Rückgabe der Nummer des Wochentags (1=Montag, 7=Sonntag)
function wochentag1 ($tag, $monat, $jahr){
   $wtnr = ((juliantojd($monat, $tag, $jahr)+1) % 7) + 1;
   return $wtnr;
}


// wochentag() ------------------------------------------------------------------ alternativ //
// Rückgabe der Nummer des Wochentags (1=Montag, 7=Sonntag)
function wochentag2 ($tag, $monat, $jahr){
   $tagesziffer = $tag % 7;
   $monatsziffer = array(0,3,3,6,1,4,6,2,5,0,3,5);
   $jahresziffer = (($jahr % 100)+ floor(($jahr % 100)/4)) % 7;
   $jahrhundertziffer = (3 - (floor($jahr / 100) % 4)) * 2;
   $schaltjahreskorrektur = 0;
   if (($jahr % 4) == 0 && $monat <= 2) $schaltjahreskorrektur = -1;
   $wtnr = ($tagesziffer + $monatsziffer[$monat - 1] + $jahresziffer + $jahrhundertziffer + $schaltjahreskorrektur) % 7;
   if ($wtnr==0) $wtnr=7;
   return $wtnr;
}


// ---------------------------------------- Test --------------------------- //


$tag=12; $monat=11; $jahr=2017;
echo 'wtnr1= '.wochentag1($tag, $monat, $jahr).'<BR>';
echo 'wtnr2= '.wochentag1($tag, $monat, $jahr).'<BR>';
?>