首页 > 开发 > PHP > 正文

PHP输出日历表代码实例

2024-05-04 23:33:29
字体:
来源:转载
供稿:网友

这篇文章主要介绍了PHP输出日历表代码实例,本文直接给出代码实例,需要的朋友可以参考下

 

 
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>月历表</title> 
  6. <?php 
  7. $MONTH = array("元月","一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); 
  8. $enMONTH = array("元月","January" ,"February" ,"Marcy" ,"April" ,"May" ,"June" ,"July" ,"August" ,"September" ,"October" ,"November" ,"December"); 
  9. $WEEK = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); 
  10. $BACKCOLOR = array("#FFC" , "#FFF" , "#9F6" , "#FFC" , "#6F0" , "#6F6" , "#F90" , "#F06" , "#F00" , "#FC3" , "#FF6" , "#F99"); 
  11.  
  12. function PrintMon($year, $mon) 
  13. date_default_timezone_set("Asia/Shanghai");  
  14. global $MONTH; 
  15. global $enMONTH; 
  16. global $WEEK; 
  17. global $BACKCOLOR; 
  18.  
  19. $startdate =strtotime("1 $enMONTH[$mon] $year"); //获取查询的年月 
  20. $enddate = strtotime("+1 month",$startdate); //获取下一个月的开始日期作为月历输出的截止时间 
  21. $theDate = getdate($startdate); //把日期转化为字符串格式 
  22. $color = $BACKCOLOR[$mon]; //设置月历的背景颜色 
  23.  
  24. echo("<table border=/"1/" cellspacing=/"0/" cellpadding=/"0/" bgcolor=/"$color/">"); 
  25. $ym = $year . "年". $MONTH[$mon]; 
  26. echo("<caption><h1>$ym</h1></caption>"); 
  27. echo("<tr>"); 
  28. for ($i=0; $i<7; $i++) //输出星期几 
  29. echo("<td width=/"90/", height=/"40/" align=/"center/" >"); 
  30. echo("<h2>$WEEK[$i]</h2>"); 
  31. echo("</td>"); 
  32. echo("</tr>"); 
  33.  
  34.  
  35. $theWeek = $theDate[wday];//判断当天是星期几 
  36. for ($i=0; $i<6; $i++) 
  37. echo("<tr>"); 
  38. for ($j=0; $j<7; $j++) 
  39. echo("<td width=/"90/", height=/"40/" align=/"center/" >"); 
  40. if ($startdate < $enddate && $theWeek == $j)//把日期输出到对应的星期几所在列,并注意不要超出本月日期 
  41. $theDay = $theDate[mday]; 
  42. echo("<h2>$theDay</h2>"); 
  43. $startdate = strtotime("+1 day", $startdate); //日期前移1天 
  44. $theDate = getdate($startdate);//更新日期 
  45. $theWeek = ($theWeek + 1) % 7;//更新星期 
  46. echo("</td>"); 
  47. echo("</tr>"); 
  48. if ($startdate == $enddate) //如果已经输出全部日期,结束循环 
  49. $i = 6; 
  50.  
  51. echo("</table"); 
  52. }  
  53. ?> 
  54.  
  55.  
  56. </head> 
  57.  
  58.  
  59. <body> 
  60.  
  61.  
  62. <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"
  63. <h1>请输入要查看的年号和月份(查询范围为1970年1月1日至2038年)</h1> 
  64. <input type="text" name="myYear">年<input type="text" name="myMonth">月 
  65. <input type="submit"
  66. </form> 
  67.  
  68.  
  69. <?php 
  70. $year = $_POST['myYear'];  
  71. $month = $_POST['myMonth']; 
  72. if (is_numeric($year) && $year >= 1970 && $year <2038) 
  73. if (is_numeric($month) && $month >= 1 && $month <=12) 
  74. PrintMon($year, $month); 
  75. else if($month != NULL) 
  76. echo("月份不对" . "<br />"); 
  77. else if($year != NULL) 
  78. echo("年份不对" . "<br />"); 
  79. ?> 
  80.  
  81.  
  82. </body> 
  83. </html> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表