服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - PHP输出日历表代码实例

PHP输出日历表代码实例

2020-09-15 15:50PHP之家 PHP教程

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!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>

延伸 · 阅读

精彩推荐