1ヶ月のカレンダー(日曜始まり)を作るコードを毎回新しく書いている気がするので、再利用できるようにメモしておく。
function getCalender($today = 'today')
{
$oneDay = 86400; // 60 secs * 60 mins * 24 hours
$today = strtotime($today);
$firstDate = strtotime(date('Y-m-01', $today));
$lastDate = strtotime(date('Y-m-t', $today));
$lastMonthDays = date('w', $firstDate);
$thisMonthDays = date('t', $lastDate);
$nextMonthDays = 6 - date('w', $lastDate);
$startDate = $firstDate - ( $lastMonthDays * $oneDay );
$endDate = $lastDate + ( $nextMonthDays * $oneDay );
$calendar = array();
for ( $date = $startDate; $date <= $endDate; $date += $oneDay )
{
$calendar[] = getdate($date);
}
return $calendar;
}
<?php $calendar = getCalender(); ?> <table> <?php foreach ( $calendar as $date ): ?> <?php if ( $date['wday'] == 0 ): ?><tr><?php endif ?> <td><?php echo $date['mday'] ?></td> <?php if ( $date['wday'] == 6 ): ?></tr><?php endif ?> <?php endforeach ?> </table>
トラバURL : http://suin.asia/trackback/493
氷川 XOOPS Module 開発室