php代碼如何實現(xiàn)萬年歷

這篇文章主要介紹“php代碼如何實現(xiàn)萬年歷”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php代碼如何實現(xiàn)萬年歷”文章能幫助大家解決問題。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)陸港免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

php代碼實現(xiàn)萬年歷的方法:1、利用PHP的日期函數(shù)獲取當(dāng)前年月日;2、計算該月第一天對應(yīng)的是周幾;3、分別計算上下月對應(yīng)的年數(shù)與天數(shù),實現(xiàn)上下月切換即可。

php代碼如何實現(xiàn)萬年歷

本文操作環(huán)境:Windows7系統(tǒng)、PHP7.1版、DELL G3電腦

PHP實現(xiàn)萬年歷

實現(xiàn)一個PHP萬年歷,先上圖:

php代碼如何實現(xiàn)萬年歷

總體實現(xiàn)邏輯是:先把某月的天數(shù)展示在table里面。然后計算該月第一天對應(yīng)的是周幾。最后分別計算上下月對應(yīng)的年數(shù)與天數(shù),實現(xiàn)上下月切換。下面將一步一步具體實現(xiàn):

第一步:利用PHP的日期函數(shù)獲取當(dāng)前年月日:

  • 獲取當(dāng)前年 $y = date("Y");

  • 獲取當(dāng)前月 $y = date("m");

  • 獲取當(dāng)前是多少號 $d = date("d");

  • 獲取該月有多少天 $maxday = date("t");  

  • 獲取本月第一天對應(yīng)的星期 date("w",strtotime("{$y}-{$m}-1"));  

  • 接下來是界面代碼,代碼如下圖

  • php代碼如何實現(xiàn)萬年歷

  • 以上第一個for循環(huán)用于循環(huán)輸出最大天數(shù),1-$week表示對應(yīng)的本月第一天是星期幾。第二個for循環(huán),循環(huán)輸出每一行的日期。其中$i == $d表示判斷是否為本月本號的日期,如果是則字體為紅色標(biāo)注。

第二步,實現(xiàn)上月和下一月切換:

  • 分別定義變量 $prey,$preMonth,$nexty,$nextMonth表示點擊上一月和下一月對應(yīng)的年月

  • 給上下年月賦值,并且為a標(biāo)簽添加鏈接 代碼如下圖

php代碼如何實現(xiàn)萬年歷

第三步:初始化的年月日,進(jì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)前日期。具體代碼如下圖

php代碼如何實現(xiàn)萬年歷

到此萬年歷完成。

關(guān)于“php代碼如何實現(xiàn)萬年歷”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

文章名稱:php代碼如何實現(xiàn)萬年歷
URL標(biāo)題:http://muchs.cn/article12/geopgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、自適應(yīng)網(wǎng)站、靜態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、虛擬主機、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管