Posted it on my blog, but I decided that I should share it here as well, for those of you that need a simple php calendar.
<?php
// This gets today's date
$date = time ();
// This puts the day, month, and year in seperate variables
$day = date('d', $date);
$month= date('m', $date);
$year = date('Y', $date);
// Here we generate the first day of the month
$first_day = mktime(0,0,0,$month, 1, $year);
//This gets us the month name
$title = date('F', $first_day);
//Here we find out what day of the week the first day of the month falls on
$day_of_week = date('D', $first_day);
//Once we know what day of the week it falls on, we know how many blank days occure before it. If the first day of the week is a Sunday then it would be zero
switch($day_of_week) {
case "Sun": $blank = 0; break;
case "Mon": $blank = 1; break;
case "Tue": $blank = 2; break;
case "Wed": $blank = 3; break;
case "Thu": $blank = 4; break;
case "Fri": $blank = 5; break;
case "Sat": $blank = 6; break;
}
// We then determine how many days are in the current month
$days_in_month = cal_days_in_month(0, $month, $year);
?>
<?php print $month; ?> <?php print $year; ?>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
<?php $day_count = 1;// This counts the days in the week, up to 7 ?>
<?php while ($blank > 0): //first we take care of those blank days ?>
<?php $blank = $blank-1; $day_count++; ?>
<?php endwhile; ?>
<?php $day_num = 1; //sets the first day of the month to 1 ?>
<?php while ($day_num <= $days_in_month): //count up the days, until we've done all of them in the month ?>
<?php print $day_num; ?>
<?php $day_num++; $day_count++; ?>
<?php if ($day_count > 7): //Make sure we start a new row every week ?>
<?php $day_count = 1; ?>
<?php endif; ?>
<?php endwhile; ?>
<?php while ($day_count >1 && $day_count <=7): //Finaly we finish out the table with some blank details if needed ?>
<?php $day_count++; ?>
<?php endwhile; ?>
Add new comment