|
- <?php
- /**
- *
- * ============================================================================
- * * 版权所有 蜘蛛出行 * *
- * 网站地址: http://www.zzcx.com
- * ----------------------------------------------------------------------------
- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
- * 使用;不允许对程序代码以任何形式任何目的的再发布。
- * ============================================================================
- * Author By: 温依莅
- * PhpStorm Calendar.php
- * Create By 2017/3/20 15:19 $
- */
-
- namespace common\models;
-
- class Calendar
- {
- protected $_table;//table表格
- protected $_currentDate;//当前日期
- protected $_year; //年
- protected $_month; //月
- protected $_days; //给定的月份应有的天数
- protected $_dayofweek;//给定月份的 1号 是星期几
- /**
- * 构造函数
- */
- public function __construct($y,$m)
- {
- $this->_table="";
- $this->_year = $y==0?date("Y"):$y;
- $this->_month = $m==0?date("m"):str_pad($m,2,'0',STR_PAD_LEFT);
- if ($this->_month>12){//处理出现月份大于12的情况
- $this->_month=1;
- $this->_year++;
- }
- if ($this->_month<1){//处理出现月份小于1的情况
- $this->_month=12;
- $this->_year--;
- }
- $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号 是星期几
- }
-
- /**
- * 输出日历
- */
- public function showCalendar()
- {
- $ycount=ceil(($this->_days+($this->_dayofweek%7))/7);
- $total=7*$ycount;
-
- $headEmpty=$this->_dayofweek;
- $endEmpty=$total-$this->_days-$headEmpty;
-
- //生成日期数组
-
- $list=array();
-
- for($i=1;$i<=$total;$i++){
- if($i<=$headEmpty||$i>$total-$endEmpty){
- $list[$i]=array();
- }else{
- $day= str_pad($i-$headEmpty,2,'0',STR_PAD_LEFT);
- $date="$this->_year-$this->_month-$day";
- $list[$i]['date']=$date;
- $list[$i]['day']=$i-$headEmpty;
- }
- }
- // $data['ycount']=$ycount;
- // $data['total']=$total;
- // $data['head']=$headEmpty;
- // $data['end']=$endEmpty;
- $data['list']=$list;
- $data['year']=$this->_year;
- $data['month']=$this->_month;
-
- return $data;
-
- }
- }
|