新手求助php日历问题

WBOY
Release: 2016-06-23 13:58:06
Original
876 people have browsed it


    


        
        
        
        <script> <br /> <br /> function test(){ <br /> var tb = document.getElementsByTagName("table")[0]; <br /> var trs = tb.getElementsByTagName("tr"); <br /> <br /> <br /> <br /> for(var i=0;i<trs.length;i++){ <br /> var td = trs[i].firstChild; <br /> var tdl = trs[i].lastChild; <br /> <br /> td.setAttribute("style","color:red"); <br /> tdl.setAttribute("style","color:red"); <br /> <br /> <br /> } <br /> <br /> var tds = tb.getElementsByTagName("td"); <br /> for(var j=0;j<tds.length;j++){ <br /> <br /> tds[j].onmouseover = function(){ <br /> for(var k=0;k<tds.length;k++){ <br /> tds[k].className=""; <br /> } <br /> this.className="tdborder"; <br /> } <br /> <br /> tds[j].onclick = function(e){ <br /> var div = document.getElementsByTagName("div"); <br /> for(var a=0;a<div.length;a++){ <br /> document.body.removeChild(div[a]); <br /> } <br /> // var w = this.cellIndex; <br /> // alert(w); <br /> var e = e || window.event; <br /> var day = this.innerHTML; <br /> var d = document.createElement("div"); <br /> d.style.border = "1px solid red"; <br /> d.style.position = "absolute"; <br /> d.style.zIndex = 22; <br /> d.style.left = e.clientX+20 + "px"; <br /> d.style.top = e.clientY+5 + "px"; <br /> d.style.width = "100px"; <br /> d.style.height = "100px"; <br /> d.innerHTML = day; <br /> <br /> document.body.appendChild(d); <br /> <br /> } <br /> <br /> } <br /> <br /> <br /> } <br /> <br /> window.onload = test; <br /> <br /> <br /> </script>

    
    
    
    $year = 2014;
    $month =4;
    $total = 0;
    $isRN = false;
    $month_day = 0;

    if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0){
        $isRN = true;
    }

    for($i=1900;$i         if($i % 4 == 0 && $i % 100 != 0 || $i % 400 == 0){
            $total += 366;
        }else{
            $total += 365;
        }
    }

    for($i=1;$i         switch($i){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                $month_day = 31;
                break;
            case 2:
                if($isRN){
                    $month_day = 29;
                }
                else{
                    $month_day = 28;
                }
                break;
            default:
                $month_day = 30;
                break;

        }
        if($i              $total += $month_day;
        }
    }


    $temp = $total % 7 + 1;
    if($temp == 7){
        $temp = 0;
    }

    echo "";
    echo "
        
        
        
        
        
        ";
    for($i=1;$i         if($i==1){
            echo "";
        }
        if($temp != 0){
            for($j=0;$j                 echo "";
            }
            $temp = 0;
        }
        echo "";
        if(($total+$i + 1) %7 == 0){
            echo "";
        }
        if($i == $month_day){
            echo "";
        }
    }
    echo "
星期天     星期一     星期二     星期三     星期四     星期五     星期六    
".$i."

";



    ?>

    



 本人想点击日期在div内显示出这是今年的第多少天和星期几。求大神帮帮忙


回复讨论(解决方案)

<?php	//设置为中国时区	date_default_timezone_set('PRC');	//打印出今天是星期几(英文的)	echo date('l');	//打印出明天是星期几	echo date('l',time()+60*60*24);	/*	*因为不知道你所设置的时间格式,上面使用的是时间戳	*如果你是2014-7-8这类格式的话,可以使用strtotime()先转换为时间戳	*/		echo date('l',strtotime('2014-4-19'));	//或者这样	echo date('l',mktime(23,59,59,4,19,2014));		//相信上面说的几个函数应该可以满足你需求了,不行再问,但是自己先去查手册		//获取今天是今年的第几天,其他格式查看上面,是一样的	echo date('z');?>
Copy after login

<html>    <head>        <title></title>        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>           <style>            .tdborder{                border: 1px solid red;            }        </style>        <script type="text/javascript">            function test(){               var tb = document.getElementsByTagName("table")[0];               var trs = tb.getElementsByTagName("tr");               for(var i=0;i<trs.length;i++){                   var td = trs[i].firstChild;                   var tdl = trs[i].lastChild;                   td.setAttribute("style","color:red");                   tdl.setAttribute("style","color:red");               }                var tds = tb.getElementsByTagName("td");                for(var j=0;j<tds.length;j++){                    tds[j].onmouseover = function(){                        for(var k=0;k<tds.length;k++){                            tds[k].className="";                        }                        this.className="tdborder";                    }                    tds[j].onclick = function(e){                        var div = document.getElementsByTagName("div");                        for(var a=0;a<div.length;a++){                            document.body.removeChild(div[a]);                        }//                        var w = this.cellIndex;//                        alert(w);                        var e = e || window.event;                        var day = this.innerHTML;                        var d = document.createElement("div");                        d.style.border = "1px solid red";                        d.style.position = "absolute";                        d.style.zIndex = 22;                        d.style.left = e.clientX+20 + "px";                        d.style.top = e.clientY+5 + "px";                        d.style.width = "100px";                        d.style.height = "100px";                        d.innerHTML = day+" 第几天:"+this.getAttribute('djt')+" 星期几:"+this.getAttribute('xqj');//自己在美化下 星期几:0表示星期日 2表示星期一                        document.body.appendChild(d);                    }                }            }            window.onload = test;        </script>    </head>    <body>    <?php    $year = 2014;    $month =4;    $total = 0;    $isRN = false;    $month_day = 0;    if($year % 4 == 0 && $year % 100 != 0 || $year % 400 == 0){        $isRN = true;    }    for($i=1900;$i<$year;$i++){        if($i % 4 == 0 && $i % 100 != 0 || $i % 400 == 0){            $total += 366;        }else{            $total += 365;        }    }    $preTotal = $total;//定义一个今年之前的天数    for($i=1;$i<=$month;$i++){        switch($i){            case 1:            case 3:            case 5:            case 7:            case 8:            case 10:            case 12:                $month_day = 31;                break;            case 2:                if($isRN){                    $month_day = 29;                }                else{                    $month_day = 28;                }                break;            default:                $month_day = 30;                break;        }        if($i < $month){            $total += $month_day;        }    }    $temp = $total % 7 + 1;    if($temp == 7){        $temp = 0;    }    echo "<table>";    echo "<tr><th>星期天    </th>        <th>星期一    </th>        <th>星期二    </th>        <th>星期三    </th>        <th>星期四    </th>        <th>星期五    </th>        <th>星期六    </th></tr>";    for($i=1;$i<=$month_day;$i++){        if($i==1){            echo "<tr>";        }        if($temp != 0){            for($j=0;$j<$temp;$j++){                echo "<td></td>";            }            $temp = 0;        }           echo "<td xqj = ".(($total+$i + 1) %7)." djt=".($total+$i - $preTotal).">".$i."</td>";//xqj:表示星期几 如:0=星期日 djt:表示今年的第几天        if(($total+$i + 1) %7 == 0){            echo "</tr><tr>";        }        if($i == $month_day){            echo "</tr>";        }    }    echo "</table><br/>";    ?>    </body></html>
Copy after login


 感谢大神。谢谢了


Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template