Wochentag für ein beliebiges Datum
Und hier ist der PHP-Code:
An der Berechnung des Wochentages ist nichts schwieriges dran. Man ermittelt die 5 benötigten Ziffern anhand des gewünschten Datums und bekommt dann durch einfache Addition der Ziffern eine Zahl, deren Rest, nach Teilung durch "7" die Tageszahl in dezimaler Form ist.
<?php
$tag = 01;
$monat = 01;
$jahr = 2010;
$wochentag_array = array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
$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;
$wochentag_dez = ($tagesziffer + $monatsziffer[$monat - 1] + $jahresziffer + $jahrhundertziffer + $schaltjahreskorrektur) % 7;
$tagesname = $wochentag_array[$wochentag_dez];
?>
Die am Anfang des Scriptes definierten Variablen für Tag, Monat und Jahr können über den aktuellen UNIX-Timestamp oder durch ein beliebiges Formular ermittelt werden.
Bitte nicht vergessen: Datumseingaben über ein Formular sollten immer auf ihre Gültigkeit überprüft werden!
In o. g. Scipt steht der ermittelte Wochentag in der Variablen "$tagesname". Die Ausgabe der Variablen kann an jeder beliebigen Stelle auf der Website per "echo $tagesname;" erfolgen.
Peter