<?php
$month = date('m');
$year = date('Y');
// Get the first day of the month
$firstDayOfMonth = mktime(0, 0, 0, $month, 1, $year);
// Number of days in the month
$numberDays = date('t', $firstDayOfMonth);
// Get the name of the month
$monthName = date('F', $firstDayOfMonth);
// Get the day of the week for the first day of the month
$dayOfWeek = date('D', $firstDayOfMonth);
// Create a table to organize the calendar
echo "<h1>$monthName $year</h1>";
echo "<table>";
echo "<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr><tr>";
// Pad the calendar with empty cells if the month doesn't start on a Sunday
if($dayOfWeek != 'Sun') {
$blankDaysBefore = date('w', $firstDayOfMonth);
for($i = 0; $i < $blankDaysBefore; $i++) {
echo "<td></td>";
}
}
// Fill in the rest of the calendar with the days of the month
for($dayCounter = 1; $dayCounter <= $numberDays; $dayCounter++) {
$currentDay = mktime(0, 0, 0, $month, $dayCounter, $year);
if(date('w', $currentDay) == 0) {
echo "</tr><tr>";
}
echo "<td>$dayCounter</td>";
}
echo "</tr></table>";
?>
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter