<?php header("Content-type: text/html; charset=utf-8"); date_default_timezone_set("Asia/Tokyo"); //その月の1日のタイムスタンプを取得 //ここで何年何月のカレンダーを作るか設定 $startday = mktime(0,0,0,9,1,2006); //その月の1日の曜日を取得 $startweek = date("w", $startday); //その月の末日を取得 $daycnt = date("t", $startday); //曜日名の行 $body = "<table border=\"1\">"; $body .= "<tr>"; $body .= "<td>日</td>"; $body .= "<td>月</td>"; $body .= "<td>火</td>"; $body .= "<td>水</td>"; $body .= "<td>木</td>"; $body .= "<td>金</td>"; $body .= "<td>土</td>"; $body .= "</tr>"; $body .= "<tr>"; //1日より前の空欄となる曜日のセル $weekcnt = 0; while($weekcnt <> $startweek){ $body .= "<td> </td>"; $weekcnt++; } //1日~末日までの日付の出力 for($daynum = 1; $daynum <= $daycnt; $daynum++){ $body .= "<td>"; if((date("Y/m", $startday) . "/{$daynum}") == date("Y/m/j")){ //今日なら文字を赤にする $body .= "<span sytle=\"color:red\"><b>" . $daynum . "</b></span>"; } else{ $body .= $daynum; } $body .= "</td>"; //曜日が土曜なら折り返して次の行へ if($weekcnt++ == 6){ $body .= "</tr>"; if($daynum < $daycnt){ $body .= "<tr>"; } //曜日を日曜に戻す $weekcnt = 0; } } //月末日より後ろの空欄となる曜日のセル while($weekcnt > 0 and $weekcnt <= 6){ $body .= "<td> &</td>"; $weekcnt++; } $body .= "</table>"; ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?=$body?> </body> </html>