Die Programmiersprache PHP verfügt über Datums-und Zeit-Funktionen , die die Schaffung eines Monatskalender vereinfachen . Der " date () " -Funktion gibt einen formatierten Datum oder Teile eines Datums für einen gegebenen UNIX -Zeitstempel. Die " mktime ()" -Funktion gibt einen Unix-Timestamp für ein bestimmtes Datum und Uhrzeit. Durch die Kombination der beiden , können Sie den Namen des Monats , die ersten und letzten Tage des Monats und andere nützliche Werte für den Druck Ihrer Kalender abzurufen. Erstellen eines einfachen Kalender, dann bauen darauf, um es an Ihre Bedürfnisse anpassen . Things You
PHP -Code-Editor oder Texteditor
brauchen anzeigen Weitere Anweisungen
1
Starten Sie Ihre Kalender -Code , indem Sie die Standard-Zeitzone für Ihre Region. Dadurch wird sichergestellt, den aktuellen Monat und heute werden korrekt angezeigt
< phpdate_default_timezone_set ( 'America /Denver '); . ?
2
des Skripts $ _REQUEST Array Überprüfen Sie, ob die " Monat " und " Jahr "-Variablen gesetzt wurden . Wenn nicht, setzen Sie sie auf die heutigen Werte und weisen Sie den Variablen namens $ month und $ year .
If (! Isset ($ _REQUEST [" Monat "] ) ) $ _REQUEST [" Monat "] = date (" n "); if ( isset ($ _REQUEST ! [" Jahr "] ) ) $ _REQUEST [" Jahr "] = date (" Y " ); $ month = $ _REQUEST [" Monat "] ; $ year = $ _REQUEST [ ,"" Jahr "] ;
date (" n ") liefert die numerische Monat und das Datum ("Y" ) gibt die vierstellige Jahreszahl . Siehe die " PHP Manual : date" . Dokumentation im Abschnitt Verweise für eine vollständige Liste der Formatierungszeichenfolge Zeichen verknüpft
3
Generieren einen Zeitstempel mit mktime ( ) , für den ersten Tag des der mitgelieferte Monat und Jahr. Stellen Sie die Zeit-Parameter auf "0 ". Die Zeit ist nicht für das Drucken eines Kalenders notwendig
$ timestamp = mktime ( 0, 0 , 0, $ month , 1, $ jahr ); .
4
Erstellen von Variablen zu halten der Name des Monats ($ monthtxt ) , die numerische letzten Tag des Monats ($ lastday ) und der numerischen Tag der Woche der erste Tag des Monats ($ firstdow , wobei Sonntag "0") fällt .
$ monthtxt = date ( "F ", $ timestamp) ; $ lastday = date ( "t" , $ timestamp) ; $ firstdow = date ( "w" , $ timestamp) ; ? >
5
erstellen Sie die Kalender -Header , den Druck des Monats ($ monthtxt ) und Jahr ( $ jahr ) über einem Tisch mit sieben Säulen gekrönt mit Tag -of -the- Woche Spaltenüberschriften.
< ; ? ? h2> < php echo $ monthtxt > < php echo $ Jahr Seite 6
Starten Sie eine for-Schleife durch jede Tabellenzelle im Kalender fort. Der Wert $ d wird durch die Anzahl der Tabellenzellen von der linken oberen Zelle ("0" ) der Tabelle durch die Zelle mit dem letzten Tag des Monats ($ + $ lastday firstdow - 1) zu zählen.
< P ? > < phpfor ( $ d = 0; $ d < ($ + $ lastday firstdow ); $ d + +). {
7
berechnen Sie den Tag des Monats in die Tabelle gedruckt
$ curday = $ d - $ firstdow + 1;
8
starten Sie eine neue Tabellenzeile wenn der aktuelle Zählerstand landet auf der ersten Spalte der Tabelle . $ d % 7 gibt den Rest von $ d /7 . Wenn $ d % 7 0 ist , ist die Anzahl der "Sunday" Spalte
if (( $ d % 7) == 0) echo "
\\ n"; .
9 drucken Sie die Tabellenzelle. Wenn $ d hat bis zum ersten Tabellenzelle mit einem gültigen Tag des Monats gezählt , wird es drucken Sie den Wert für diesen Tag in der Tabellenzelle
echo "
"; . If ($ d > = $ firstdow ) echo $ curday ; echo " | \\ n";
10 Ende die Zeile der Tabelle , wenn die aktuelle Zählung landet auf der letzten Spalte der Tabelle . Wenn $ d % 7 6 ist , ist die Anzahl der "Saturday " Spalte
if (( $ d % 7) == 6 ) echo "
\\ n"; .
Seite 11
Ende der for-Schleife , PHP Container, und den Tisch.
} ? >
12
Probieren Sie Ihre PHP-Skript . Nennen Sie es mit dem Monat und Jahr , um einen Kalender für einen bestimmten Monat (z. B. http://yoursite.com/calendar.php?month=2&year=2008 ) drucken.