Blogger Information
Blog 250
fans 3
comment 0
visits 321170
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP实现万年历的制作
梁凯达的博客
Original
1254 people have browsed it

实例

<?php
	//var_dump($_GET);
	//使用地址栏传递我们的年份和月份
	//获取传递过来的年份
	$year = isset($_GET['y'])?$_GET['y']:date('Y');

	//获取传递过来的月份
	$mon = isset($_GET['m'])?$_GET['m']:date('m');

	//当前月份有多少天
	$d = mktime(0,0,0,$mon,1,$year);
	$day = date('t',$d);
	//echo $day;
	//当前月份1号是星期几
	$w = mktime(0,0,0,$mon,1,$year);
	$week = date('w',$w); 
	//echo $week;
?>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<table border="1" width="800" align="center">
		<caption><?php echo $year?>年<?php echo $mon?>月</caption>
		<tr>
			<th>星期日</th>
			<th>星期一</th>
			<th>星期二</th>
			<th>星期三</th>
			<th>星期四</th>
			<th>星期五</th>
			<th>星期六</th>
		</tr>
		<?php
		echo  '<tr>';
		//循环初始值
		$dd = 1;
		//输出 你想要的多少个空格
		for ($i=0; $i < $week ; $i++) { 
			echo '<td> </td>';
		}

		//循环输出你想要的多少个单元格
		while($dd<=$day){
			//输出的单元格
			echo '<td>'.$dd.'</td>';
			//如果满足条件我们的就让他换行
			if(($dd+$week) % 7==0){
				//这个是上面的tr的结束标签
				echo '</tr>';
				//这个是下面的tr的开始标签
				echo '<tr>';
			}
			$dd++;
		}
		echo '</tr>';
		?>	
	</table>
	<?php
		//我们需要得到两个参数一个是年份  一个是月份
		
		//年份
		//$prev_year = $next_year = $year;
		//上一年
		$prev_year = $year;
		//下一年
		$next_year = $year;

		$p_year = $n_year = $year;

		//下一年
		if($p_year>1970){
			$p_year--;
		}else{
			$p_year = 1970;
		}

		//上一年
		if($n_year >=2038){
			$n_year = 2038;
			if($mon >1){
				$mon=1;
			}
		}else{
			$n_year++;
		}



		//月份
		//$perv_mon = $next_mon = $mon;
		//上一月
		$prev_mon = $mon;
		//下一月
		$next_mon = $mon;
		//上一月判断范围
		if($prev_mon <= 1){
			//上一年减一
			$prev_year--;
			if ($prev_year < 1970) {
				$prev_year = 1970;
				$prev_mon = 1;
			}else{
				//月份变为12月
				$prev_mon = 12;
			}
		}else{
			//只要不小于1我们就减减
			$prev_mon--;
		}

		//下一月份
		if($next_mon >=12){
			//年份加一
			$next_year++;
			//月份变为1月
			$next_mon = 1;
		}else{
			//最大年份的月份只能是1月份
			if($next_year >=2038){
				$next_mon = 1;
			}else{
				$next_mon++;
			}
		}
	?>

	<!-- 居中标签 -->
	<center>
		<h3>
			<a href="./demo.php?m=<?php echo $mon?>&y=<?php echo $p_year?>"><button>上一年</button></a>
			<a href="./demo.php?m=<?php echo $prev_mon?>&y=<?php echo $prev_year?>"><button>上一月</button></a>
			<a href="./demo.php?m=<?php echo $next_mon?>&y=<?php echo $next_year?>"><button>下一月</button></a>
			<a href="./demo.php?m=<?php echo $mon?>&y=<?php echo $n_year?>"><button>下一年</button></a>

		</h3>

	</center>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post