ブログBlog
カレンダーの作成
投稿日:2015年07月29日
必要になる場面が多いカレンダー表示、言語によって多少は変わりますが、基本的な作り方は同じです。
phpの一例です。
先ず、表示する年、月を取得します
(今回、年と月は今日の年月から取得してます)
$year = date('Y');
$month = date('m');
年と月から月末日を取得します
$last_day = date('j', mktime(0, 0, 0, $month + 1, 0, $year));
年と月から1日の曜日(番号)を取得します
0→日 / 1→月 / 2→火 / 3→水 / 4→木 / 5→金 / 6→土
$timestamp = mktime(0, 0, 0, $month, $day, $year);
$weekno = date('w', $timestamp);
$day=1;
$calendar=""
日付のループ
while($day<=$last_day){
$calendar .= <tr>
曜日でループします
for($week = 0 ; $week < 7 ; $week++){
1日より前は空欄にする
if($day == 1 && $week < $weekno){
$calendar .= <td></td>
月末日より後ろを空欄にする
}else if($last_day < $day){
$calendar .= <td></td>
}else{
$calendar .= <td>$day</td>
次の日へ
$day++;
}
}
改行する
$calendar .= </tr>
}
後はhtmlに以下のように書き込むとカレンダーになります
<table>
<tr>
<th>日</th>
<th>月</th>
<th>火</th>
<th>水</th>
<th>木</th>
<th>金</th>
<th>土</th>
</tr>
<?php echo $calendar ?>
</table>