Pear::Calendar を使ってみました。
beta 版なので -f を付けて install しました。
-f は強制的に install する場合のやり方なので、
本来は以下のようにするようです。
# pear install Calendar-beta |
Pear::Clanendar には目的に応じて使うクラスを選ぶようになっているのですが、カレンダーのレイアウトを意識しているのが面白そうだったので Calendar/Month/Weekdays.php を使ってみました。(他もそうなのかもしれませんが…)
使い方はこんな感じです。
2009年1月の場合。
<?php require_once 'Calendar/Month/Weekdays.php'; // 0 で先頭を日曜日に指定しています $cm = new Calendar_Month_Weekdays(2009, 1, 0); $cm->build(); echo "<table>"; while($day = $cm->fetch()) { // 日付が存在しない場所だった場合 if (!$day->isEmpty()) { $date = sprintf("%d", $day->thisDay()); } else { $date = ""; } // カレンダーの先頭の場合 if ($day->isFirst()) { echo "<tr>"; } // カレンダーの先頭の場合 if ($day->isFirst()) { echo "<td style=background-color:#fcc>"; } else { echo "<td>"; } echo $date . "</td>"; // カレンダーの右端の場合 if ($day->isLast()) { echo "</tr>"; } } echo "</table>"; ?> |
カレンダーのレイアウトを意識している点が面白いです。
説明文が変ですが言いたい事が伝わると思います