目录
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帐户等同步,请执行以下步骤来解决问题。日历应用程序可以连接到其他日历服务,如谷歌日历、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