网站首页PHP学习

基于CI改进的简单日历类

发布时间:2015-08-29编辑:Vincent H阅读(457)

    主要方法:

    public function __construct()
    	{
    		parent::__construct();
    		$this->_table=""; 
    		$this->_year = isset($_GET["y"])?$_GET["y"]:date("Y"); 
    		$this->_month = isset($_GET["m"])?$_GET["m"]:date("m"); 
    		if ($this->_month>12){//处理出现月份大于12的情况 
    		$this->_month=1; 
    		$this->_year++; 
    		} 
    		if ($this->_month_month=12; 
    		$this->_year--; 
    		} 
    		$this->_currentDate = $this->_year.'年'.$this->_month.'月';//当前得到的日期信息 
    		$this->_days = date("t",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份应有的天数 
    		$this->_dayofweek = date("w",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份的 1号 是星期几 
    	}
    	
    	
            /** 
    	* 输出标题和表头信息 
    	*/ 
    	protected function _showTitle() 
    	{ 
    		$this->_table="".$this->_currentDate.""; 
    		$this->_table.=""; 
    		$this->_table .="日"; 
    		$this->_table .="一"; 
    		$this->_table .="二"; 
    		$this->_table .="三"; 
    		$this->_table .="四"; 
    		$this->_table .="五"; 
    		$this->_table .="六"; 
    		$this->_table.=""; 
    	} 
    	
    	/** 
    	* 输出日期信息 
    	* 根据当前日期输出日期信息 
    	*/ 
    	protected function _showDate() 
    	{ 
    		$nums=$this->_dayofweek+1; 
    		for ($i=1;$i_dayofweek;$i++){//输出1号之前的空白日期 
    		$this->_table.=" "; 
    		} 
    		for ($i=1;$i_days;$i++){//输出天数信息 
    
    		if (strtotime($this->_year.'-'.$this->_month.'-'.$i) == strtotime(date('Y-m-d',time()))) {
    		    $this->_table.="$i";
    		}else{
    		    $this->_table.="$i";
    		}
    
    		if ($nums%7==0){//换行处理:7个一行 
    		$this->_table.=""; 
    		} 
    		$nums++; 
    		} 
    		$this->_table.=""; 
    	} 
    	
    	/** 
    	* 输出日历 
    	*/ 
    	public function showCalendar() 
    	{ 
    		$this->_showTitle(); 
    		$this->_showDate(); 
    		return $this->_table; 
    	}

    附所有代码:

    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
     
    class Calendar extends CI_Model {
        protected $_table;//table表格 
        protected $_currentDate;//当前日期 
        protected $_year; //年 
        protected $_month; //月 
        protected $_days; //给定的月份应有的天数 
        protected $_dayofweek;//给定月份的 1号 是星期几 
     
        public function __construct()
        {
            parent::__construct();
            $this->_table=""; 
            $this->_year = isset($_GET["y"])?$_GET["y"]:date("Y"); 
            $this->_month = isset($_GET["m"])?$_GET["m"]:date("m"); 
            if ($this->_month>12){//处理出现月份大于12的情况 
            $this->_month=1; 
            $this->_year++; 
            } 
            if ($this->_month<1){//处理出现月份小于1的情况 
            $this->_month=12; 
            $this->_year--; 
            } 
            $this->_currentDate = $this->_year.'年'.$this->_month.'月';//当前得到的日期信息 
            $this->_days = date("t",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份应有的天数 
            $this->_dayofweek = date("w",mktime(0,0,0,$this->_month,1,$this->_year));//得到给定的月份的 1号 是星期几 
        }
        /** 
        * 输出标题和表头信息 
        */ 
        protected function _showTitle() 
        { 
            $this->_table="<table><thead><tr align='right'><th colspan='7' style='color:#fff'>".$this->_currentDate."</th></tr></thead>"; 
            $this->_table.="<tbody><tr>"; 
            $this->_table .="<td style='background:#2681e9'>日</td>"; 
            $this->_table .="<td style='background:#2681e9'>一</td>"; 
            $this->_table .="<td style='background:#2681e9'>二</td>"; 
            $this->_table .="<td style='background:#2681e9'>三</td>"; 
            $this->_table .="<td style='background:#2681e9'>四</td>"; 
            $this->_table .="<td style='background:#2681e9'>五</td>"; 
            $this->_table .="<td style='background:#2681e9'>六</td>"; 
            $this->_table.="</tr>"; 
        } 
        /** 
        * 输出日期信息 
        * 根据当前日期输出日期信息 
        */ 
        protected function _showDate() 
        { 
            $nums=$this->_dayofweek+1; 
            for ($i=1;$i<=$this->_dayofweek;$i++){//输出1号之前的空白日期 
            $this->_table.="<td> </td>"; 
            } 
            for ($i=1;$i<=$this->_days;$i++){//输出天数信息 
     
            if (strtotime($this->_year.'-'.$this->_month.'-'.$i) == strtotime(date('Y-m-d',time()))) {
                $this->_table.="<td style='background:#F74B67'>$i</td>";
            }else{
                $this->_table.="<td>$i</td>";
            }
     
            if ($nums%7==0){//换行处理:7个一行 
            $this->_table.="</tr><tr>"; 
            } 
            $nums++; 
            } 
            $this->_table.="</tbody></table>"; 
        } 
        /** 
        * 输出日历 
        */ 
        public function showCalendar() 
        { 
            $this->_showTitle(); 
            $this->_showDate(); 
            return $this->_table; 
        } 
    }

        捕获.PNG


    收录情况:百度未收录
    本文地址:http://luvial.cn/content/10004.html
    转载请保留原文地址!

    如果您觉得本文对您有帮助,且您有经济能力,欢迎捐助本站
标签: php日历 CI日历 日历类
上一篇:百度贴吧邮箱提取器
下一篇:使用strip_tags函数删除 html标签