<!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> var d = new Date(); //今年 var year = d.getFullYear(); //今月 var month = d.getMonth()+1; //今月の最後の日 var lastDate = (new Date(year + "/" + (month+1) + "/0")).getDate(); //今月の最初の日の曜日 var firstWDay = (new Date(year + "/" + month + "/1" )).getDay(); //今月の最後の日の曜日 var lastWDay = (new Date(year + "/" + (month+1) + "/0" )).getDay(); //出力 var table = "<table border=\"1\">\n"; table += "<tr>\n"; table += "<td>日</td><td>月</td><td>火</td><td>水</td><td>木</td><td>金</td><td>土</td>\n"; table += "</tr>\n"; for(var date = 1; date <= lastDate; date++){ //その日の曜日を取得 var wDay = (new Date(year + "/" + month + "/" + date)).getDay(); //console.log(wDay); //日曜日か最初の1回目のループで<tr> if(wDay == 0 || date == 1){ table += "<tr>\n"; //最初の1回目のループで、最初の日の曜日まで空白で埋める if(firstWDay != 0 && data == 1){ //最初の曜日(1以上)が日曜日(0)になるまでループ for(var i = firstWDay; i < 0; i--){ table += "<td> </td>"; } } } //日付の出力 table += "<td>" + date + "</td>"; //最後の週が土曜日で終わらなかったとき空白で埋める if(lastWDay != 6 && date == lastDate){ //土曜日(6)から最後の曜日(6以下)になるまでループ for(var i = 6; i > lastWDay; i--){ table += "<td> </td>"; } } //土曜日のとき</tr> if(wDay == 6){ table += "</tr>"; } } table += "</tr>"; table += "</table>"; document.getElementsByTagName("body")[0].innerHTML = table; </script> </html>
<?php header("Content-type: text/html; charset=utf-8"); //今日の日付 $year = date("Y"); $month = date("m"); //今月の最初の曜日 $first_wday = date("w",mktime(0,0,0,$month,1,$year)); //今月の最後の日(前月の0日) $last_date = date("d", mktime(0,0,0,$month+1,0,$year)); //今月の最後の日の曜日 $last_wday = date("w", mktime(0,0,0,$month,$last_date,$year)); //日付の部分 $calendar = ""; for($date = 1; $date <= $last_date; $date++){ //その日付の曜日取得 $wday = date("w",mktime(0,0,0,$month,$date,$year)); //日曜日か、最初の1回目のループに<tr>の開始 if($wday == 0 || $date == 1){ $calendar .= "<tr>"; //最初の1回目のループで、最初の日の曜日まで空白で埋める if($first_wday != 0 && $date == 1){ //最初の日の曜日を1ずつ減らして日曜日まで空白で埋める for($i = $first_wday; $i > 0; $i--){ $calendar .= "<td> </td>"; } } } $calendar .= "<td>{$date}</td>"; //最後の週が土曜日で終わらなかったとき空白で埋める if($last_wday != 6 && $date == $last_date){ for($i = 6; $i > $last_wday; $i--){ $calendar .= "<td> </td>"; } } //土曜日のとき</tr>の終了 if($wday == 6){ $calendar .= "</tr>"; } } ?> <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <b><?=$year?>年<?=$month?>月</b> <table border="1"> <tr> <td>日</td> <td>月</td> <td>火</td> <td>水</td> <td>木</td> <td>金</td> <td>土</td> </tr> <?=$calendar?> </table> </body> </html>