php實(shí)現(xiàn)的日歷程序
更新時(shí)間:2015年06月18日 16:27:00 作者:瘋狂的流浪
這篇文章主要介紹了php實(shí)現(xiàn)的日歷程序,可實(shí)現(xiàn)基本的日歷顯示與實(shí)時(shí)查詢功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了php實(shí)現(xiàn)的日歷程序。分享給大家供大家參考。具體如下:
<?php ////判斷$Year和$Month是否為空,如果為空就獲取系統(tǒng)當(dāng)前日期,否則用$_GET獲取 $Year = empty($_GET['Year']) ? date("Y"): $_GET["Year"]; $Month = empty($_GET['Month']) ? date("m"): $_GET["Month"]; ////獲取當(dāng)前日期//// $Today = date("Ymj"); ////初始化日期數(shù)組//// $Maxday = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20", "21","22","23","24","25","26","27","28","29","30","31"); $Maxday_count = count($Maxday); ////初始化星期數(shù)組//// $Weekday = array("<font color='red'>Sun</font>","Mon","Tue","Wed","Thu","Fri","<font color='red'>Sat</font>"); $Weekday_count = count($Weekday); $daynum = 0; $space = "<td> </td>"; $col = 0; ////打印表格頭部//// ?> <form action="calendar.php" method="post" name="linked"> <table><tr><td colspan=3 align=center><a href="?Year=<?php if($Year-1 > 1900)echo $Year-1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year"><<</a> <?php echo $Year?> <a href="?Year=<?php if($Year+1 <2999) echo $Year+1;else echo $Year;?>&Month=<?php echo $Month?>" onClick="javascript:document.linked.submit();" name="Year">>></a></td> <td> </td><td colspan=3 align=center><a href="?Year=<?php echo $Year?>&Month=<?php if($Month-1 >0) if($Month-1 < 10)echo "0".($Month-1); else echo $Month-1; else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month"><<</a> <?php echo $Month;?> <a href="?Year=<?php echo $Year?>&Month=<?php if($Month+1 <13) if($Month+1 <10) echo "0".($Month+1);else echo ($Month+1); else echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month">>></a></td></tr><tr><td colspan="8"></td></tr><tr> <?php ////打印星期列表//// while(list(,$Weekvalue) = each($Weekday)) echo "<td align=center> ".$Weekvalue." </td>"; echo "</tr>"; ////打印日期列表//// //當(dāng)月份為4,6,9,11的時(shí)候,從數(shù)組末尾刪除一個(gè)值,也就是刪除31這個(gè)值. if($Month == 4 or $Month == 6 or $Month == 9 or $Month == 11) { array_pop($Maxday); $Maxday_count--; } //先判斷月份是否為2月,如果是的話再判斷年份是否為閏年,如果是的話就從數(shù)組尾部移除2個(gè)值,否則就移除3個(gè)值. if($Month == 2) { if($Year % 4 == 0) { array_pop($Maxday); array_pop($Maxday); $Maxday_count-=2; } else { array_pop($Maxday); array_pop($Maxday); array_pop($Maxday); $Maxday_count-=3; } } ////打印日期//// while($daynum < $Maxday_count) { echo "<tr>"; while(list($colnum,$Dayvalue) = each($Maxday)) { //判斷當(dāng)前日期為一星期中的哪一天 $DayWeek = date("w",strtotime($Year."-".$Month."-".$Dayvalue)); //當(dāng)當(dāng)前日期處于第1個(gè),也就是每個(gè)月的第1天的時(shí)候,在它前面補(bǔ)上相應(yīng)的空格子 if($Dayvalue == 1) for($i=0;$i<$DayWeek;$i++) echo $space;//打印每個(gè)月空出的幾個(gè)格子 $daynum++; //當(dāng)打印日期的時(shí)候與當(dāng)前日期字符串進(jìn)行比較,如果相等就將字體標(biāo)為紅色. if($Year.$Month.$Dayvalue == $Today) { $u1 = "<b><u>"; $u2 = "</b></u>"; } else { $u1 = ""; $u2 = ""; } if($DayWeek == 0 or $DayWeek == 6) $color = "red"; else $color = "black"; echo "<td align=center><font color=".$color."> ".$u1.$Dayvalue.$u2." </font></td>"; //用本周第幾天這個(gè)值加1,如果是7的倍數(shù)就換行退出此輪循環(huán)(換行打印) if(($DayWeek+1) % 7 == 0) { $col++; break; } } echo "</tr>"; } ?>
運(yùn)行效果如下:
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
php+mysql實(shí)現(xiàn)無(wú)限級(jí)分類
這篇文章主要介紹了php+mysql實(shí)現(xiàn)無(wú)限級(jí)分類,一個(gè)php項(xiàng)目需要用到分類,動(dòng)手制作了一個(gè)php無(wú)限極分類,感興趣的小伙伴們可以參考一下2015-11-11PHP保存session到memcache服務(wù)器的方法
這篇文章主要介紹了PHP保存session到memcache服務(wù)器的方法,涉及PHP操作session及memcache的相關(guān)技巧,需要的朋友可以參考下2016-01-01php實(shí)現(xiàn)將上傳word文件轉(zhuǎn)為html的方法
這篇文章主要介紹了php實(shí)現(xiàn)將上傳word文件轉(zhuǎn)為html的方法,涉及php針對(duì)word文件操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】
這篇文章主要介紹了學(xué)習(xí)PHP的數(shù)組總結(jié)【經(jīng)驗(yàn)】,需要的朋友可以參考下2016-05-05php設(shè)計(jì)模式 Chain Of Responsibility (職責(zé)鏈模式)
為解除請(qǐng)求的發(fā)送者和接收者之間的耦合,而使用多個(gè)對(duì)象都用機(jī)會(huì)處理這個(gè)請(qǐng)求,將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它2011-06-06