程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP實例————萬年歷

PHP實例————萬年歷

編輯:關於PHP編程

PHP實例————萬年歷


和大家分享一個簡易的萬年歷制作過程。

基本要求:

1.獲取日期

2.獲取給定日期是幾號

3.獲取給定日期是周幾

4.獲取月份天數

5.獲取上一月和下一月

先貼一張效果圖,樣式做的比較丑,不喜勿噴。

\


php代碼:

";

	//獲取當前年
	$year=$_GET['Y']?$_GET['Y']:date('Y');

	//獲取當前月
	$month=$_GET['m']?$_GET['m']:date('m');

	//獲取當月有多少天
	$days=date('t',strtotime("{$year}-{$month}-1"));

	//當前是周幾
	$week=date('w',strtotime("{$year}-{$month}-1"));

	//內容居中顯示
	echo "
"; //打印表頭 echo "

{$year}年{$month}月

"; //打印日期表格 echo ""; //打印星期 echo ""; echo "周日"; echo "周一"; echo "周二"; echo "周三"; echo "周四"; echo "周五"; echo "周六"; echo ""; //打印幾號 for($i=1-$week;$i<=$days;){ echo ""; for($j=0;$j<7;$j++){ if($i>$days||$i<1){ echo " "; }else{ echo "$i"; } $i++; } echo ""; } echo ""; //上一月和下一月算法 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 "

上一月&下一月

"; echo "
"; ?>

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:'宋體';
}
h2 a{
	font-style:normal;
	font-size:40px;
	font-family:'黑體';
	color:purple;
}
/*組合選擇器*/
tr,td,th{
	font-size:20px;
	background:gray;
}

說幾點比較容易出錯和用法巧妙的地方:

1.strtotime()中所計算的時間戳應該是完整的一個格式,把一個單獨的年或月放進去是沒有用的。

2.if語句中的條件裡面,不是賦值,是等於!!!,要寫 兩個==。這地方太容易給忽略了。

3.原本打印的日期一直都是周日和一號對應。但是月份不同,這個日期和星期的對應關系也會有所改變,所以,在for循環中將$i-$week.就可以將當月的所有日期後退一定時間,達到日期與星期的完美對應。

4.在實現上一月和下一月的功能時,將幾個變量作為參數帶入,再配合一定的算法就能搞定了。具體的就看代碼吧,文字也得再好也不如看兩行代碼效果好。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved