PHP輸出日歷表代碼實(shí)例

字號(hào):


    這篇文章主要介紹了PHP輸出日歷表代碼實(shí)例,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
    <html xmlns="">
    <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); //獲取下一個(gè)月的開始日期作為月歷輸出的截止時(shí)間
    $theDate = getdate($startdate); //把日期轉(zhuǎn)化為字符串格式
    $color = $BACKCOLOR[$mon]; //設(shè)置月歷的背景顏色
    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];//判斷當(dāng)天是星期幾
    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)//把日期輸出到對(duì)應(yīng)的星期幾所在列,并注意不要超出本月日期
    {
    $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) //如果已經(jīng)輸出全部日期,結(jié)束循環(huán)
    {
    $i = 6;
    }
    }
    echo("</table");
    }
    ?>
    </head>
    <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    <h1>請(qǐng)輸入要查看的年號(hào)和月份(查詢范圍為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("月份不對(duì)" . "<br />");
    }
    }
    else if($year != NULL)
    {
    echo("年份不對(duì)" . "<br />");
    }
    ?>
    </body>