<title>Calendar table</title><?php $MONTH = Array ("All", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); $enMONTH = Array ("January", "February", "Marcy", "April", "may", "June", "July", "August", "September", "October", "N Ovember "," December "); $WEEK = Array ("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); $BACKCOLOR = Array ("#FFC", "#FFF", "#9F6", "#FFC", "#6F0", "#6F6", "#F90", "#F06", "#F00", "#FC3", "#FF6", "#F9 9 "); function Printmon ($year, $mon) {date_default_timezone_set ("Asia/shanghai"); Global $MONTH; Global $enMONTH; Global $WEEK; Global $BACKCOLOR; $startdate =strtotime ("1 $enMONTH [$mon] $year"); Gets the date of the query $enddate = strtotime ("+1 month", $startdate); Gets the start date for the next one months as the deadline for the monthly calendar output $theDate = getdate ($startdate); Convert date to string format $color = $BACKCOLOR [$mon]; Sets the background color of the monthly calendar echo ("
"); $ym = $year. "Year". $MONTH [$mon]; Echo ("
$ym
"); Echo ("
"); for ($i =0; $i <7; $i + +)//output Day of the week {echo ("
| "); Echo (" $WEEK [$i] "); Echo (" | "); } Echo ("
"); $theWeek = $theDate [wday];//determines the day of the week for ($i =0; $i <6; $i + +) {echo ("
"); for ($j =0; $j <7; $j + +) {echo ("
| "); if ($startdate < $enddate && $theWeek = = $j)//Output the date to the corresponding day of the week, and be careful not to exceed this month's date {$theDay = $theDate [Mday]; Echo (" $theDay "); $startdate = Strtotime ("+1 Day", $startdate); Date moved forward 1 days $theDate = getdate ($startdate);//update Date $theWeek = ($theWeek + 1)% 7;//Update Week} echo (" | "); } Echo ("
"); if ($startdate = = $enddate)//If all dates have been output, end loop {$i = 6;}} Echo ("<?php $year = $_post[' myyear '); $month = $_post[' mymonth '); if (Is_numeric ($year) && $year >= 1970 && $year <2038) {if (Is_numeric ($month) && $month &G t;= 1 && $month <=12) {Printmon ($year, $month),} else if ($month! = NULL) {echo ("Month is incorrect". ""); } } else if ($year! = NULL) {echo ("wrong Year"). ""); }? >