There are times when we require to put a calendar in some web appplication of ours,writing the code to generate a calendar from scratch is painstaking and waste of time. So PEAR comes to rescue with its Calendar package. The package gives a ton of features, below you'll find a simple program to generate the calendar of the present month. PHP: <?php require_once 'Calendar/Month/Weekdays.php'; $Month = new Calendar_Month_Weekdays(date('Y'), date('n')); $Month->build(); echo "<table border=1>\n"; while ($Day = $Month->fetch()) { if ($Day->isFirst()) { echo "<tr>\n"; } if ($Day->isEmpty()) { echo "<td> \n"; } else { echo '<td>'.$Day->thisDay()."\n"; } if ($Day->isLast()) { echo "</tr>\n"; } } echo "</table>\n"; ?> The calendar package also contains a Decorator class, which provides a decorator to help with generating URLs (for example next / prev URLs). Checkout an example below. PHP: <?php $Day = new Calendar_Day(2003, 10, 23); $Uri = & new Calendar_Decorator_Uri($Day); $Uri->setFragments('year', 'month', 'day'); echo $Uri->prev('day'); // Displays year=2003&month=10&day=22 ?>