製作一個行事曆程式

來源:互聯網
上載者:User

標籤:

calendar.class.php

<?phpdate_default_timezone_set(‘PRC‘);class Calendar{    private $year;   //當前的年    private $month;  //當前的月    private $day;    //當前的天    private $start_weekday;   //當月開始的第一天是周幾    private $days;  //當前月一共多少天    function __construct(){        //獲得當前的年        $this->year=isset($_GET[‘year‘])?$_GET[‘year‘]:date("Y");        //獲得當前的月        $this->month=isset($_GET[‘month‘])?$_GET[‘month‘]:date("m");        //獲得當前的日        $this->day=date("d");        //獲得這個月的天數        $this->start_weekday=date("w",mktime(0,0,0,$this->month,1,$this->year));        //獲得這個月開始的第一天是星期幾        $this->days=date("t",mktime(0,0,0,$this->month,1,$this->year));    }    function out(){        echo ‘<table align="center">‘;        //調用改變年和月的函數        $this->changeDate("test.php");        //調用星期列表        $this->weeksList();        //調用日期列表        $this->daysList();        echo ‘</table>‘;    }    private function weeksList(){        //建立星期數組        $week=array(‘日‘,‘一‘,‘二‘,‘三‘,‘四‘,‘五‘,‘六‘);        echo ‘<tr>‘;        //輸出星期數組        for($i=0;$i<count($week);$i++){            echo ‘<th class="fontb">‘.$week[$i].‘</th>‘;        }        echo ‘</tr>‘;    }    private function daysList(){        echo ‘<tr>‘;        //輸出空格(當前一個月前面空出來的)        for($j=0;$j<$this->start_weekday;$j++){            echo ‘<td>&nbsp;</td>‘;        }        //輸出這個月的日期        for($k=1;$k<$this->days;$k++){            $j++;            if($k==$this->day)                echo ‘<td class="fontb">‘.$k.‘</td>‘;            else                echo ‘<td>‘.$k.‘</td>‘;            if($j%7==0)                echo ‘</tr><tr>‘;        }        //後面的空格        while($j%7!=0){            echo ‘<td>&nbsp;</td>‘;            $j++;        }        echo ‘</tr>‘;    }    private function prevYear($year,$month){        $year=$year-1;        if($year < 1970)            $year=1970;        return "year={$year}&month={$month}";    }    private function prevMonth($year,$month){        if($month==1){            $year=$year-1;            if($year < 1970)                $year=1970;            $month=1;        }else{            $month--;        }        return "year={$year}&month={$month}";    }    private function nextYear($year,$month){        $year=$year+1;        if($year > 2038)            $year=2038;        return "year={$year}&month={$month}";    }    private function nextMonth($year,$month){        if($month==12){            $year=$year+1;            if($year > 2038)                $year=2038;            $month=12;        }else{            $month++;        }        return "year={$year}&month={$month}";    }    private function changeDate($url=""){        echo ‘<tr>‘;        echo ‘<td colspan="7">‘;        echo ‘<form>‘;        echo ‘<select name="year" onchange="window.location=\‘‘.$url.‘?year=\‘+this.options[selectedIndex].value+\‘&month=‘.$this->month.‘\‘">‘;        for($sy=1970; $sy <= 2038; $sy++){            $selected = ($sy==$this->year) ? "selected" : "";            echo ‘<option ‘.$selected.‘ value="‘.$sy.‘">‘.$sy.‘</option>‘;        }        echo ‘</select>‘;        echo ‘<select name="month"  onchange="window.location=\‘‘.$url.‘?year=‘.$this->year.‘&month=\‘+this.options[selectedIndex].value">‘;        for($sm=1; $sm<=12; $sm++){            $selected1 = ($sm==$this->month) ? "selected" : "";            echo ‘<option ‘.$selected1.‘ value="‘.$sm.‘">‘.$sm.‘</option>‘;        }        echo ‘</select>‘;        echo ‘</form>‘;            echo ‘</td>‘;        echo ‘</tr>‘;    }}?>

 

calendar.php

<style>    table{        border:1px solid #050;    }    .fontb{        color:white;        background: blue;    }    th,td{        text-align: center;        width:30px;        height: 30px;    }    form{        margin: 0px;        padding: 0px;    }    select{        text-align: center;    }</style><?php//包含類檔案include "./calendar.class.php";//建立類對象$calendar=new Calendar;$calendar->out();?>

 

製作一個行事曆程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.