\n"; echo "$monthName $year\n"; echo "\n"; echo "\n"; echo "\tSun\n"; echo "\tMon\n"; echo "\tTue\n"; echo "\tWed\n"; echo "\tThu\n"; echo "\tFri\n"; echo "\tSat\n"; echo "\n"; echo "\n"; // for each day of month for ($dayNo = 1; $dayNo <= $daysInMonth; $dayNo++) { // get day name $dayName = date(D, mktime(0, 0, 0, $monthNo, $dayNo, $year)); // if first day of month is not Sunday if ($dayNo == 1 && $dayName != "Sun") { // start a new row echo "\n"; if (!isset($week)) { $week = 1; } else { $week++; } // get the day of the week number (0-6) $dayOfWeek = date(w, mktime(0, 0, 0, $monthNo, $dayNo, $year)); // print empty table cells until we reach first day of month for ($i = 0; $i < $dayOfWeek; $i++) { echo "\t\n"; } } // if Sunday, start a new row if ($dayName == "Sun") { echo "\n"; if (!isset($week)) { $week = 1; } else { $week++; } } if (strlen($monthNo) == 1) { $iso_date = $year . "-0" . $monthNo; } else { $iso_date = $year . "-" . $monthNo; } if (strlen($dayNo) == 1) { $iso_date .= "-0" . $dayNo; } else { $iso_date .= "-" . $dayNo; } if ($year == date('Y') && $monthNo == date('n') && $dayNo == date('j')) { echo "\t$dayNo\n"; } else { echo "\t$dayNo\n"; } // if Saturday, close this row if ($dayName == "Sat") { echo "\n"; } // if the last day of the month is not Saturday if ($dayNo == $daysInMonth && $dayName != "Sat") { // get the day of the week number (0-6) $dayOfWeek = date('w', mktime(0, 0, 0, $monthNo, $dayNo, $year)); // print empty table cells until we reach Saturday for ($i = 6; $i > $dayOfWeek; $i--) { echo "\t\n"; } // close this row echo "\n"; } } if ($week == 4) { echo "\n"; echo "\t\n"; echo "\n"; echo "\n"; echo "\t\n"; echo "\n"; } if ($week == 5) { echo "\n"; echo "\t\n"; echo "\n"; } // print previous and next links echo "\n"; echo "\n"; echo ""; if ($monthNo == 12) { echo "Previous | Next"; } elseif ($monthNo == 1) { echo "Previous | Next"; } else { echo "Previous | Next"; } echo "\n"; echo "\n"; echo "\n"; // finish printing table echo "\n"; echo "\n"; ?>