<?php
//https://drive.google.com/drive/folders/1P85zb07pu_cp0EdgSSuNZGyI74rYoRu2?usp=sharing
//2017.12.05
$show_year = date('Y'); //2020
if (isset($_GET['y'])) { $show_year = $_GET['y'] ;}
function make_month_html($month, $year)
{
$first_day = mktime(0, 0, 0, $month, 1, $year);
/*
// date() has lots of possible parameters - here we use them one by one
$month = date("m", $first_day);
$year = date("Y", $first_day);
*/
$week_day = date("w", $first_day);
$month_name = date("F", $first_day);
$days_in_month = date("t", $first_day);
// % means "modulus", which calculates remainders
$week_day = ($week_day + 7) % 7;
$calendar = "<table><caption>$month_name $year</caption><tr>";
// create the table header for the table, showing each day name across the top
$day_names = array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
foreach ($day_names as $d) $calendar .= "<th>$d</th>";
$calendar .= "</tr><tr>";
// if the first day isn't a Sunday, we need to indent it a little
if ($week_day > 0) $calendar .= "<td colspan=\"$week_day\"> </td>";
// now create the rest of the calendar
for ($day = 1; $day <= $days_in_month; ++$day, ++$week_day) {
if ($week_day == 7) {
$week_day = 0;
$calendar .= "</tr><tr>";
}
$calendar .= "<td>$day</td>";
}
// if the last day isn't a Saturday, we need to create the empty cells at the end
if ($week_day != 7) $calendar .= "<td colspan=\"" . (7 - $week_day) . "\"> </td>";
$calendar .= "</tr></table>";
return $calendar;
} // e n d f n make_ calendar
?>
<html>
<head>
<title>Yearly Calendar</title>
<style>
table { margin: 20px; }
caption { text-decoration: underline; }
</style>
</head>
<body>
<?php
// print all 12 months of the year
?><table><tr><?php
for ($i = 1; $i < 13; ++$i) {
echo "<td>" . make_month_html($i, $show_year) . "</td>";
// every four months, make a break so we can see them all on the same screen
if ($i % 4 == 0) { ?></tr> <tr><?php }
}
?>
</tr></table>
<hr />Usage: .../YearlyCalendar.php?y=2020
</body>
</html>
|