PHP输出日历表代码实例

5年以前  |  阅读数:230 次  |  编程语言:PHP 

    <!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>
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
文件下载
贪吃蛇
获取IMEI
双位运算符
发送邮件
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
提取后缀名
年的日历图
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例