<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>月歷表</title> <?php $MONTH = array("元月","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); $enMONTH = array("元月","January" ,"February" ,"Marcy" ,"April" ,"May" ,"June" ,"July" ,"August" ,"September" ,"October" ,"November" ,"December"); $WEEK = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); $BACKCOLOR = array("#FFC" , "#FFF" , "#9F6" , "#FFC" , "#6F0" , "#6F6" , "#F90" , "#F06" , "#F00" , "#FC3" , "#FF6" , "#F99"); function PrintMon($year, $mon) { date_default_timezone_set("Asia/Shanghai"); global $MONTH; global $enMONTH; global $WEEK; global $BACKCOLOR; $startdate =strtotime("1 $enMONTH[$mon] $year"); //獲取查詢的年月 $enddate = strtotime("+1 month",$startdate); //獲取下一個月的開始日期作為月歷輸出的截止時間 $theDate = getdate($startdate); //把日期轉化為字符串格式 $color = $BACKCOLOR[$mon]; //設置月歷的背景顏色 echo("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"$color\">"); $ym = $year . "年". $MONTH[$mon]; echo("<caption><h1>$ym</h1></caption>"); echo("<tr>"); for ($i=0; $i<7; $i++) //輸出星期幾 { echo("<td width=\"90\", height=\"40\" align=\"center\" >"); echo("<h2>$WEEK[$i]</h2>"); echo("</td>"); } echo("</tr>"); $theWeek = $theDate[wday];//判斷當天是星期幾 for ($i=0; $i<6; $i++) { echo("<tr>"); for ($j=0; $j<7; $j++) { echo("<td width=\"90\", height=\"40\" align=\"center\" >"); if ($startdate < $enddate && $theWeek == $j)//把日期輸出到對應的星期幾所在列,並注意不要超出本月日期 { $theDay = $theDate[mday]; echo("<h2>$theDay</h2>"); $startdate = strtotime("+1 day", $startdate); //日期前移1天 $theDate = getdate($startdate);//更新日期 $theWeek = ($theWeek + 1) % 7;//更新星期 } echo("</td>"); } echo("</tr>"); if ($startdate == $enddate) //如果已經輸出全部日期,結束循環 { $i = 6; } } echo("</table"); } ?> </head> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> <h1>請輸入要查看的年號和月份(查詢范圍為1970年1月1日至2038年)</h1> <input type="text" name="myYear">年<input type="text" name="myMonth">月 <input type="submit"> </form> <?php $year = $_POST['myYear']; $month = $_POST['myMonth']; if (is_numeric($year) && $year >= 1970 && $year <2038) { if (is_numeric($month) && $month >= 1 && $month <=12) { PrintMon($year, $month); } else if($month != NULL) { echo("月份不對" . "<br />"); } } else if($year != NULL) { echo("年份不對" . "<br />"); } ?> </body> </html>