カレンダーをつくる

2017年1月のカレンダーをつくる

作成したカレンダー

f:id:develog:20161123133516p:plain

 

PHPソース

<?php
//2017年1月のカレンダーをつくる

echo <<<__STYLE
<style>
h1 {
font-size: 28px;
}
table {
border-top: solid 1px black;
border-collapse: collaose;
border-spacing: 0;
}
td {
border-bottom: solid 1px black;
padding: 6px;
margin: 0;
}
</style>
__STYLE;

echo "<h1>2017年1月</h1>";
$yotei = array(6 =>"訓練終了", 28=>"旅行", 29=>"旅行");
showCalendar(2017,1,$yotei);

function showCalendar($year, $mon, $yotei) {

$list = array("日","月","火","水","木","金","土");
$colors = array(0=>"#FFF0F0", 6=>"#F0F0FF");
$cur = strtotime("$year-$mon-1");//指定月の初日

echo "<table>";
for(;;){
//月番号、日付、曜日を得る
$cur_mon = intval(date("m", $cur));
if($cur_mon > $mon) break;
$d = date("d", $cur);
$w = date("w", $cur);
$weekname = $list[$w];
$color = isset($colors[$w]) ? $colors[$w] : "white";

//予定があるか確認
$i = intval($d);
$sc = isset($yotei[$i]) ? $yotei[$i] : "なし";

//HTMLを出力する
echo "<tr style='background-color:$color'>";
echo "<td>$d</td><td>$weekname</td>";
echo "<td>$sc</td>";
echo "</tr>";

//1日進める
$cur += 24*60*60;
}
echo "</table>";
}