PHP输出日历表代码实例
2015-03-30来源:

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

<!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); //获取下一个月的开始日期作为月历输出的截止时间

$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>

更多信息请查看IT技术专栏

推荐信息
Baidu
map