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>'; ?> |