首页 > php教程 > php手册 > 正文

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

php中文网
发布: 2016-06-21 08:47:49
原创
1745人浏览过

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

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

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

        /**
        *   取得指定月有多少天
        *   eg:$month = '2014-07'
        */
        public function getMonthNum($month){
            $month = strtotime($month);
            return date('t',$month);//指定月份的天数
        }
        
        /**
        *   显示日历
        */
        public function show(){
            //取得当前日期
            $year = date('Y');
            $month = date('m');
            $day = date('d');
            echo '<table border="1" style="text-align:center;">';
            echo '<tr><td colspan="7">'.$year.'-'.$month.'</td></tr>';
            echo '<tr><th>星期日</th><th>星期一</th><th>星期二</th><th>星期三</th><th>星期四</th><th>星期五</th><th>星期六</th></tr>';
            //取得当前月有多少天
            $yearMonth = '$year."-".$month';
            $monthNum = $this->getMonthNum($yearMonth);
            //取得当前月第一天是星期几
            $this->firstDay = $year."-".$month."-01";
            $this->firstNum = $this->getWeek($this->firstDay);
            $this->firstDayNum = $this->weekarray[$this->firstNum];
            
            echo '<tr>';
                for($i=1;$i<=$monthNum+($this->firstNum);$i++){
                    echo '<td>';
                    if($i >= $this->firstNum+1){
                        $a = $i-$this->firstNum;
                        if($a == $day){
                            echo '<p style="background-color:blue;color:#fff;">'.$a.'</p>';
                        }else{
                            echo '<p>'.$a.'</p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/%E7%AE%80%E5%8E%86">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175679998510823.png" alt="UP简历">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/%E7%AE%80%E5%8E%86">UP简历</a>
                            <p>基于AI技术的免费在线简历制作工具</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="UP简历">
                                <span>128</span>
                            </div>
                        </div>
                        <a href="/ai/%E7%AE%80%E5%8E%86" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="UP简历">
                        </a>
                    </div>
                ';
                        }
                    }
                    echo '</td>';
                    if($i%7 == 0){//每输出7列就换一行
                        echo '</tr>';
                    }
                }
            echo '</table>';
        }

    }
    
    $calendar = new Calendar();
    $calendar->show();
登录后复制

效果图:

PHP date()函数的使用

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



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号