<html><body>
<style>
.cal td { border-bottom: 1px solid silver; padding: 4px; }
.cur { font-size: 14px; color: black; }
.oth { font-size: 9px; color: silver; }
.sun { color: red; }
</style>
<?php
// カレンダーの描写
echo make_calendar(2018,2);
function make_calendar($year, $month){
// 月初めをセット
$t = new DateTime();
$t->setDate($year, $month, 1);
// その週の月曜日(カレンダー左上の日)を得る
$t->modify("Mon this week");
// 月終わりをセット
$end_t = new DateTime();
$end_t->setDate($year,$month, 1);
$end_t->modify("Sun");
$html = "<p>{$year}年 {$month}月</p>";
$html .= "<table class='cal'>";
for (;;){
$d = $t->format("d");
$w = $t->format("w");
$c_week = ($w == 0) ? "sun" : (($w == 6) ? "sat" : "");
$c_mon = ((int)$t->format("m") == $month) ? 'cur' : 'oth';
if ($w == 1){
$html .= "<tr>";
}
$html .= "<td class='$c_mon $c_week'>$d</td>";
if ($w == 0){
$html .= "</tr>";
}
$diff = $end_t->diff($t);
if ($diff->days == 0) break;
$t->modify("+1 days");
}
$html .= "</table>";
return $html;
}
?></body></html>