目錄
PHP练手:日历(代码简单,扩展容易)
首頁 後端開發 php教程 PHP练手:日历(代码简单,扩展容易)_PHP教程

PHP练手:日历(代码简单,扩展容易)_PHP教程

Jul 13, 2016 am 10:22 AM
程式碼 日曆

PHP练手:日历(代码简单,扩展容易)

抽空写了个日历程序,只注重功能和实现的思路,所以代码和功能都比较简单,但是理解和扩展也比较容易。

show()函数用来显示日历,你可以修改show()函数,通过传值的方式来实现显示不同的年月。

<?php
    class Calendar{
        public $weekarray = array(&#39;星期日&#39;,&#39;星期一&#39;,&#39;星期二&#39;,&#39;星期三&#39;,&#39;星期四&#39;,&#39;星期五&#39;,&#39;星期六&#39;);
        public $firstDay = &#39;&#39;;//当月第一天
        public $firstNum = &#39;&#39;;//返回当月第一天对应的星期数字
        public $firstDayNum = &#39;&#39;;//当月第一天对应的中文星期
        
        /**
        *   指定日是星期几
        *   eg:$date=&#39;2014-07-21&#39;
        */
        public function getWeek($date){
            $date = strtotime($date);//strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳
            $num = date(&#39;w&#39;,$date);//数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
            return $num;
        }

        /**
        *   取得指定月有多少天
        *   eg:$month = &#39;2014-07&#39;
        */
        public function getMonthNum($month){
            $month = strtotime($month);
            return date(&#39;t&#39;,$month);//指定月份的天数
        }
        
        /**
        *   显示日历
        */
        public function show(){
            //取得当前日期
            $year = date(&#39;Y&#39;);
            $month = date(&#39;m&#39;);
            $day = date(&#39;d&#39;);
            echo &#39;<table border="1" style="text-align:center;">&#39;;
            echo &#39;<tr><td colspan="7">&#39;.$year.&#39;-&#39;.$month.&#39;</td></tr>&#39;;
            echo &#39;<tr><th>星期日</th><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th><th>星期六</th></tr>&#39;;
            //取得当前月有多少天
            $yearMonth = &#39;$year."-".$month&#39;;
            $monthNum = $this->getMonthNum($yearMonth);
            //取得当前月第一天是星期几
            $this->firstDay = $year."-".$month."-01";
            $this->firstNum = $this->getWeek($this->firstDay);
            $this->firstDayNum = $this->weekarray[$this->firstNum];
            
            echo &#39;<tr>&#39;;
                for($i=1;$i<=$monthNum+($this->firstNum);$i++){
                    echo &#39;<td>&#39;;
                    if($i >= $this->firstNum+1){
                        $a = $i-$this->firstNum;
                        if($a == $day){
                            echo &#39;<div style="background-color:blue;color:#fff;">&#39;.$a.&#39;</div>&#39;;
                        }else{
                            echo &#39;<div>&#39;.$a.&#39;</div>&#39;;
                        }
                    }
                    echo &#39;</td>&#39;;
                    if($i%7 == 0){//每输出7列就换一行
                        echo &#39;</tr>&#39;;
                    }
                }
            echo &#39;</table>&#39;;
        }

    }
    
    $calendar = new Calendar();
    $calendar->show();
登入後複製

效果图:

PHP date()函数的使用

这里有篇date()函数的详解:http://wenku.baidu.com/link?url=OPDGzaCMWgjDE0ya8QlDbLIXX0c11ohUjsoLyRm-cYp7lz-O_7H4XBILv8JfomhbnSxXSW0FhqxYBK0_gn8Nr77XMWp-_st7v8AYecbNZjG

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/847853.htmlTechArticlePHP练手:日历(代码简单,扩展容易) 抽空写了个日历程序,只注重功能和实现的思路,所以代码和功能都比较简单,但是理解和扩展也比...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

win11雙螢幕行事曆在第二台顯示器上不存在怎麼辦? win11雙螢幕行事曆在第二台顯示器上不存在怎麼辦? Jun 12, 2024 pm 05:47 PM

在Windows11中組織日常工作和例行公事的重要工具是在工作列中顯示時間和日期。此功能通常位於螢幕的右下角,可讓您即時存取時間和日期。透過點擊此區域,您可以調出日曆,從而更輕鬆地檢查即將到來的約會和日期,而無需打開單獨的應用程式。但是,如果您使用多個顯示器,則此功能可能會遇到問題。具體來說,雖然時鐘和日期顯示在所有連接的顯示器上的任務欄上,但點擊第二個顯示器上的日期和時間來顯示日曆的功能不可用。截至目前,此功能僅在主顯示幕上起作用-它與Windows10不同,在Windows10中,按一下任

解決win7驅動程式碼28的方法 解決win7驅動程式碼28的方法 Dec 30, 2023 pm 11:55 PM

有的用戶在安裝設備的時候遇到了錯誤,提示錯誤代碼28,其實這主要是由於驅動程式的原因,我們只要解決win7驅動程式碼28的問題就可以了,下面就一起來看一下應該怎麼來操作吧。 win7驅動程式碼28怎麼辦:首先,我們需要點擊螢幕左下角的開始選單。接著,在彈出的選單中找到並點擊“控制面板”選項。這個選項通常位於選單的底部或附近。點擊後,系統會自動開啟控制面板介面。在控制面板中,我們可以進行各種系統設定和管理操作。這是懷舊大掃除關卡中的第一步,希望對大家有幫助。然後,我們需要繼續操作,進入系統和

win10日曆顯示週數 win10日曆顯示週數 Jan 04, 2024 am 08:41 AM

很多用戶想要透過win10日曆這個工具來查看當前天數,但是日曆不會自動顯示這一功能,其實我們只需要通過簡單的設置,就能夠看到今年的累計週數了哦~win10日曆顯示週數設定教學:1、在桌面左下角的搜尋中輸入日曆並且開啟應用程式。 2.在開啟的日曆應用程式中,點擊左下角的「齒輪」圖示後,會在右側彈出設置,我們點擊「日曆設定」3、繼續在開啟的日曆設定中,找到「週數」然後將週數選項調整到“一年中的第一天”即可。 4.在完成以上設定後,點擊「週」即可看到今年的周數統計了。

藍色畫面代碼0x0000001怎麼辦 藍色畫面代碼0x0000001怎麼辦 Feb 23, 2024 am 08:09 AM

藍屏代碼0x0000001怎麼辦藍屏錯誤是電腦系統或硬體出現問題時的一種警告機制,代碼0x0000001通常表示出現了硬體或驅動程式故障。當使用者在使用電腦時突然遇到藍色畫面錯誤,可能會感到驚慌失措。幸運的是,大多數藍色畫面錯誤都可以透過一些簡單的步驟來排除和處理。本文將為讀者介紹一些解決藍屏錯誤代碼0x0000001的方法。首先,當遇到藍色畫面錯誤時,我們可以嘗試重

Outlook行事曆不同步; Outlook行事曆不同步; Mar 26, 2024 am 09:36 AM

如果您的Outlook行事曆無法與Google行事曆、Teams、iPhone、Android、Zoom、Office帳號等同步,請執行下列步驟來解決問題。日曆應用程式可以連接到其他日曆服務,例如Google日曆、iPhone、安卓、微軟Office365等,這是非常有用的,因為它可以自動同步。但如果OutlookCalendar無法與第三方日曆同步怎麼辦?可能的原因可能是選擇錯誤的日曆進行同步,日曆不可見,後台應用程序幹擾,過時的Outlook應用程序或日曆應用程序,等等。修復Outlook日曆不同步的初步

無法開啟win10右下角的行事曆 無法開啟win10右下角的行事曆 Dec 26, 2023 pm 05:07 PM

有使用win0系統的小夥伴有遇見win10日曆打不開的情況,這個是正常的電腦的小故障而已,在win10系統的隱私設定裡可以解決,今天小編帶來了詳細的解決方法,下面大家一起來看看吧。 win10右下角的行事曆打不開解決方法1、在win10系統中點選開始→點擊上方的程式清單按鈕→往下找到拼音(中文)R→行事曆2、初次使用,可能新事件會點不開(滑鼠靠上去,不會有選取的深藍色),可以在隱私中設定一下。點擊桌面左上方的三道槓圖示→底部就會有設定選單;3、在彈出的介面中點擊隱私;4、如果之前使用過設置,可以點擊左

win10日曆事件沒有彈跳窗提醒怎麼辦?win10日曆事件提醒沒了的恢復方法 win10日曆事件沒有彈跳窗提醒怎麼辦?win10日曆事件提醒沒了的恢復方法 Jun 09, 2024 pm 02:52 PM

行事曆可以幫助使用者記錄你的行程,甚至可以設定提醒,但是也有不少的使用者在詢問win10行事曆事件提醒不彈出怎麼辦?使用者可以先檢查windows更新狀況或是清除windows應用程式商店快取來進行操作就可以了。以下就讓本站來為使用者來仔細的介紹一下win10日曆事件提醒不彈出問題解析吧。新增日曆事件在系統選單中點選「日曆」程式。滑鼠左鍵點擊日曆中的日期。在編輯視窗輸入事件名稱和提醒時間,點選「儲存」按鈕即可新增事件了。 win10日曆事件提醒不彈出問題解決

電腦頻繁藍屏而且每次代碼不一樣 電腦頻繁藍屏而且每次代碼不一樣 Jan 06, 2024 pm 10:53 PM

win10系統是一款非常優秀的高智慧系統強大的智慧可以為使用者帶來最好的使用體驗,一般正常的情況下使用者的win10系統電腦都不會出現任何的問題!但在優秀的電腦也難免會出現各種故障最近一直有小伙伴們反應自己的win10系統遇到了頻繁藍屏的問題!今天小編就為大家帶來了win10電腦頻繁藍屏不同代碼的解決方法讓我們一起來看看吧。電腦頻繁藍屏而且每次代碼不一樣的解決辦法:造成各種故障碼的原因以及解決建議1、0×000000116故障原因:應該是顯示卡驅動不相容。解決建議:建議更換廠商原帶驅動。 2、

See all articles