Home >Backend Development >PHP Tutorial > 日历有关问题

日历有关问题

WBOY
WBOYOriginal
2016-06-13 13:39:591049browse

日历问题
2012年02月
星期一 星期二 星期三 星期四 星期五 星期六 星期日
  6 7 8 9 10 11 12
  13 14 15 16 17 18 19



帮忙写写。谢谢

------解决方案--------------------

PHP code
<?php class calendar{
    private $year;
    private $month;
    private $day_week;

    function __construct(){
        $this->year=isset($_GET['year']) ? $_GET['year'] : date("Y");
        $this->month=isset($_GET['month']) ? $_GET['month'] : date("m");
        $this->day_week=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));
    }
    
    private function xianDate(){
        echo "<tr>";
        echo "<td><a href="%22.%24this->nextyear(%24this->year,%20%24this->month).%22">"."</a></td>";
        echo "<td><a href="%22.%24this->nextmonth(%24this->month,%20%24this->year).%22">"."";
        echo "</a></td>
<td colspan="3">".$this->year."年".$this->month."月</td>";
        echo "<td><a href="%22.%24this->aftermonth(%24this->month,%20%24this->year).%22">".">>"."</a></td>";
        echo "<td><a href="%22.%24this->afteryear(%24this->year,%20%24this->month).%22">".">>>"."</a></td>";
        echo "</tr>";
    }


    private function weeks(){
        $weeks=array("日", "一", "二", "三", "四", "五", "六");
        echo "<tr>";
        foreach($weeks as $value){
            echo "<th>".$value."</th>";
        }
        echo "</tr>";
    }

    private function days(){
        echo "<tr>";
        for($i=0; $iday_week; $i++){
            echo "<td> </td>";
        }
        for($j=1; $j month, 1, $this->year)); $j++){
            $i++;
            if($j == date("d")){
                echo "<td class="fontb">".$j."</td>";
            }else{
                echo "<td>".$j."</td>";
            }
            if($i%7 == 0){
                echo "</tr>";
            }
        }
        while($i%7 != 0){
            echo "<td> </td>";
            $i++;
        }
    }

    private function nextyear($year, $month){
        if($year == 1970){
            $year=1970;
        }else{
            $year--;
        }
        return "?year=".$year."&month=".$month;
    }

    private function afteryear($year, $month){
        if($year == 2038){
            $year=2038;
        }else{
            $year++;
        }
        return "?year=".$year."&month=".$month;
    }

    private function nextmonth($month, $year){
        if($month == 1){
            $year--;
            $month=12;
        }else{
            $month--;
        }
        return "?year=".$year."&month=".$month;
    }

    private function aftermonth($month, $year){
        if($month == 12){
            $year++;
            $month=1;
        }else{
            $month++;
        }
        return "?year=".$year."&month=".$month;
    }


    public function out(){
        echo "
"; $this->xianDate(); $this->weeks(); $this->days(); echo "
"; } } $a=new calendar; $a->out(); ?>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn