찾다
php教程php手册PHP实例万年历

PHP实例————万年历

和大家分享一个简易的万年历制作过程。

基本要求:

1.获取日期

2.获取给定日期是几号

3.获取给定日期是周几

4.获取月份天数

5.获取上一月和下一月

先贴一张效果图,样式做的比较丑,不喜勿喷。


php代码:

<?php

	//修改字符编码
	header("content-type:text/html;charset=utf-8");

	//外部样式链接
	echo "<link rel=&#39;stylesheet&#39; type=&#39;text/css&#39; href=&#39;calendar.css&#39;/>";

	//获取当前年
	$year=$_GET[&#39;Y&#39;]?$_GET[&#39;Y&#39;]:date(&#39;Y&#39;);

	//获取当前月
	$month=$_GET[&#39;m&#39;]?$_GET[&#39;m&#39;]:date(&#39;m&#39;);

	//获取当月有多少天
	$days=date(&#39;t&#39;,strtotime("{$year}-{$month}-1"));

	//当前是周几
	$week=date(&#39;w&#39;,strtotime("{$year}-{$month}-1"));

	//内容居中显示
	echo "<center>";

	//打印表头
	echo "<h1 id="year-年-month-月">{$year}年{$month}月</h1>";

	//打印日期表格
	echo "<table>";

	//打印星期
		echo "<tr>";
			echo "<th>周日</th>";
			echo "<th>周一</th>";
			echo "<th>周二</th>";
			echo "<th>周三</th>";
			echo "<th>周四</th>";
			echo "<th>周五</th>";
			echo "<th>周六</th>";
		echo "</tr>";

	//打印几号
	for($i=1-$week;$i<=$days;){
		echo "<tr>";
		for($j=0;$j<7;$j++){
			if($i>$days||$i<1){
				echo "<td>&#160;</td>";
			}else{
				echo "<td>$i</td>";
			}
			$i++;
		}
		echo "</tr>";
	}
	echo "</table>";

	//上一月和下一月算法
	if($month==1){
		$prevyear=$year-1;
		$prevmonth=12;
	}else{
		$prevyear=$year;
		$prevmonth=$month-1;
	}
	if($month==12){
		$nextyear=$year+1;
		$nextmonth=1;
	}else{
		$nextyear=$year;
		$nextmonth=$month+1;
	}

	//上一月和下一月的超链接
	echo "<h2 id="上一月-下一月">上一月&下一月</h2>";

	echo "</center>";
?>

CSS代码:

table{
	width:500px;
	height:300px;
	border:red dashed 1px;
	background:#ff00ff;
}
tr{
	text-align:center;
}
td{
	border:gray dotted 1px;
}
h1{
	font-style:italic;
	font-size:50px;
	font-family:&#39;宋体&#39;;
}
h2 a{
	font-style:normal;
	font-size:40px;
	font-family:&#39;黑体&#39;;
	color:purple;
}
/*组合选择器*/
tr,td,th{
	font-size:20px;
	background:gray;
}

说几点比较容易出错和用法巧妙的地方:

1.strtotime()中所计算的时间戳应该是完整的一个格式,把一个单独的年或月放进去是没有用的。

2.if语句中的条件里面,不是赋值,是等于!!!,要写 两个==。这地方太容易给忽略了。

3.原本打印的日期一直都是周日和一号对应。但是月份不同,这个日期和星期的对应关系也会有所改变,所以,在for循环中将$i-$week.就可以将当月的所有日期后退一定时间,达到日期与星期的完美对应。

4.在实现上一月和下一月的功能时,将几个变量作为参数带入,再配合一定的算法就能搞定了。具体的就看代码吧,文字也得再好也不如看两行代码效果好。


성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.