Kalender mit aktuellem Monat
Dieses Skript gibt einen einfachen Kalender aus, der den aktuellen Monat ausgibt und das heutige Datum farblich hervorhebt.
Anklicken zum Kopieren
<?php
// Aktuelles Datum
$heutigesDatum = date('Y-m-d');
// Aktueller Monat und Jahr
setlocale(LC_TIME, 'de_DE.utf8');
$monatsname = strftime('%B', strtotime('first day of this month'));
$aktuellerMonat = date('m');
$aktuellerJahr = date('Y');
// Anzahl der Tage im aktuellen Monat
$anzahlTage = cal_days_in_month(CAL_GREGORIAN, $aktuellerMonat, $aktuellerJahr);
// Ersten Tag des aktuellen Monats
$ersterTag = date('N', strtotime("$aktuellerJahr-$aktuellerMonat-01"));
// HTML-Tabelle für den Kalender
echo '<table style="border: 1px solid black;">';
// Tabellenkopf mit Monatsname und Wochentagen
echo '<thead><tr>';
echo '<th colspan="7">' . $monatsname . ' ' . $aktuellerJahr . '</th>';
echo '</tr><tr>';
echo '<th>Mo</th><th>Di</th><th>Mi</th><th>Do</th><th>Fr</th><th>Sa</th><th>So</th>';
echo '</tr></thead>';
// Tabellenkörper
echo '<tbody>';
// Zeilen für die Kalendertage
echo '<tr>';
// Leerzellen bis zum ersten Tag des Monats
for ($i = 1; $i < $ersterTag; $i++) {
echo '<td></td>';
}
// Tage des Monats
for ($tag = 1; $tag <= $anzahlTage; $tag++) {
// Hervorhebung für das heutige Datum
$hervorhebung = ($heutigesDatum == "$aktuellerJahr-$aktuellerMonat-$tag") ? ' style="background-color: yellow;"' : '';
echo "<td$hervorhebung>$tag</td>";
// Neue Zeile für die Woche beginnen
if (($tag + $ersterTag - 1) % 7 == 0 && $tag != $anzahlTage) {
echo '</tr><tr>';
}
}
// Leerzellen bis zum Ende der letzten Woche
for ($i = ($tag + $ersterTag - 1) % 7; $i < 7; $i++) {
echo '<td></td>';
}
echo '</tr>';
echo '</tbody>';
echo '</table>';
?>
Der Kalender kann mit CSS natürlich an das eigene Design angepasst werden.
Demo ansehen
Du kannst dieses Snippet frei nutzen, auch kommerziell. Ein Link zu meiner Webseite wäre als Dankeschön toll. Vielen Dank! :)
Fehler entdeckt? Schreib mir!
Werbung
Du suchst einen günstigen Anbieter für Webhosting? Netcup hat alles, was du suchst!
Sichere dir jetzt einen 5€-Gutschein für Neukunden!