>백엔드 개발 >PHP 튜토리얼 > 日历有关问题

日历有关问题

WBOY
WBOY원래의
2016-06-13 13:39:591047검색

日历问题
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(); ?>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.