<html>
<head>
<title>wan nian li</title>
<meta http-equiv="content-type" content="text/html;" charset="GB2312">
<!-- style -->
<style type="text/css">
<!--
table
{
background-color: #b0c4de;
}
tr
{
background-color: white;
}
td
{
font-size: 20pt;
font-family: "宋体";
color: #708090;
line-height: 140%;
}
-->
</style>
</head>
<body>
<?php
//判断年的值是否设置,并且是数值类型
if(isset($_POST["year"]) && is_numeric($_POST["year"]))
{
$year = $_POST["year"];
}
else
{
$year = date("Y");
}
//判断月的值是否设置,并且是数值类型
if(isset($_POST["month"]) && is_numeric($_POST["year"]))
{
$month = $_POST["month"];
}
else
{
$month = date("m");
}
//天的初始值
$date = 01;
//用来判断月初1号是星期几,同时用作第几天
$day = 01;
//每周换行
$off = 0;
//检查年份范围
if($year < 0 || $year > 9999)
{
echo "<script>alert('year should between 1 to 9999!');history.go(-1);</script>";
exit();
}
//检查月份范围
if ($month < 0 || $month > 12)
{
echo "<script>alert('month should between 1 to 12!');history.go(-1);</script>";
exit();
}
//核查日期是否有效
while(checkdate($month,$date,$year))
{
$date++;
}
?>
<form method="post" action="" name="calendar">
<table width="60%" border="1" cellspacing="0" cellpadding="2" bordercolorlight="#333333" bordercolordark="#ffffff" bgcolor="#cccccc" style="margin: 0 auto;">
<tr align="center" valign="middle">
<td colspan="7" bgcolor="#efefef">
<input type="text" name="year" id="year" size="4" maxlength="4" value='<?= $year?>'>
<input type="text" name="month" id="month" size="2" maxlength="2" value='<?= $month?>'>
<input type="submit" name="submit" align="absmiddle" border="0" value="turn">
</td>
</tr>
<tr align="center" valign="middle">
<td bgcolor="#efefef">7</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td bgcolor="#efefef">6</td>
</tr>
<tr align="center" valign="middle">
<?php
//循环,天数是否有效
while($day < $date)
{
//当天
if($day == date("d") && $year == date("Y") && $month == date("m"))
{
$day_color = "color='red'";
$today = true;
}
//其他天
else
{
$day_color = "color='black'";
$today = false;
}
//月初1号,是周日
if($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year))== 'Sunday'))
{
echo "<td><font $day_color>$day</font></td>";
$off = '01';
}
//月初1号,是周二
elseif ($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Monday'))
{
echo "<td> </td><td><font $day_color>$day</font></td>";
$off = '02';
}
elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Tuesday'))
{
echo "<td> </td><td> </td><td><font $day_color>$day</font></td>";
$off = '03';
}
elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Wednesday'))
{
echo "<td> </td><td> </td><td> </td><td><font $day_color>$day</font></td>";
$off = '04';
}
elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Thursday'))
{
echo "<td> </td><td> </td><td> </td><td> </td><td><font $day_color>$day</font></td>";
$off = '05';
}
elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Friday'))
{
echo "<td> </td><td> </td><td> </td><td> </td><td> </td><td><font $day_color>$day</font></td>";
$off = '06';
}
elseif($day == '01' && (date('l',mktime(0,0,0,$month,$day,$year)) == 'Saturday'))
{
echo "<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td><font $day_color>$day</font></td>";
$off = '07';
}
//非月初1号,其他天数
else
{
if($today)
{
echo "<td bgcolor='#efefef'><font $day_color>$day</font></td>";
}
else
{
echo "<td><font $day_color>$day</font></td>";
}
}
//天数后移
$day++;
//一周是否走完
$off++;
//每周换行
if($off > 7)
{
echo "</tr><tr align='center' valign='middle'>";
$off = '01';
}
}
//当月剩余填充空格
for ($i=$off;$i<=7;$i++)
{
echo "<td> </td>";
}
?>
</tr>
</table>
</form>
</body>
</html>