這篇文章主要介紹“php代碼如何實(shí)現(xiàn)萬年歷”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“php代碼如何實(shí)現(xiàn)萬年歷”文章能幫助大家解決問題。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)陸港免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
php代碼實(shí)現(xiàn)萬年歷的方法:1、利用PHP的日期函數(shù)獲取當(dāng)前年月日;2、計(jì)算該月第一天對(duì)應(yīng)的是周幾;3、分別計(jì)算上下月對(duì)應(yīng)的年數(shù)與天數(shù),實(shí)現(xiàn)上下月切換即可。
本文操作環(huán)境:Windows7系統(tǒng)、PHP7.1版、DELL G3電腦
PHP實(shí)現(xiàn)萬年歷
實(shí)現(xiàn)一個(gè)PHP萬年歷,先上圖:
總體實(shí)現(xiàn)邏輯是:先把某月的天數(shù)展示在table里面。然后計(jì)算該月第一天對(duì)應(yīng)的是周幾。最后分別計(jì)算上下月對(duì)應(yīng)的年數(shù)與天數(shù),實(shí)現(xiàn)上下月切換。下面將一步一步具體實(shí)現(xiàn):
第一步:利用PHP的日期函數(shù)獲取當(dāng)前年月日:
獲取當(dāng)前年 $y = date("Y");
獲取當(dāng)前月 $y = date("m");
獲取當(dāng)前是多少號(hào) $d = date("d");
獲取該月有多少天 $maxday = date("t");
獲取本月第一天對(duì)應(yīng)的星期 date("w",strtotime("{$y}-{$m}-1"));
接下來是界面代碼,代碼如下圖
以上第一個(gè)for循環(huán)用于循環(huán)輸出最大天數(shù),1-$week表示對(duì)應(yīng)的本月第一天是星期幾。第二個(gè)for循環(huán),循環(huán)輸出每一行的日期。其中$i == $d表示判斷是否為本月本號(hào)的日期,如果是則字體為紅色標(biāo)注。
第二步,實(shí)現(xiàn)上月和下一月切換:
分別定義變量 $prey,$preMonth,$nexty,$nextMonth表示點(diǎn)擊上一月和下一月對(duì)應(yīng)的年月
給上下年月賦值,并且為a標(biāo)簽添加鏈接 代碼如下圖
第三步:初始化的年月日,進(jìn)行判斷。判斷是否為點(diǎn)擊的上一月或者下一月。如果是這取該年月。不是者取當(dāng)前。
$y = isset($_GET["y"])?$_GET["y"]:date("Y");取年
$m = isset($_GET["m"])?$_GET["m"]:date("m");取月
if ($y == date("Y") && $m == date("m")) {
$d = date("d");
}判斷是否為當(dāng)前日期。具體代碼如下圖
到此萬年歷完成。
關(guān)于“php代碼如何實(shí)現(xiàn)萬年歷”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。