不用这样吧。你先var d1 = new Date(yourYear,1,1);
然后 new Date(yourYear,YourMonth,YourDay)
然后再一减不就OK了吗

解决方案 »

  1.   

    new Date那是电脑的处理,喜欢人性一点的
    <html>
    <head>
    <script>function mm(){
        var temp=new Array(31,28,31,30,31,30,31,31,30,31,30,31)
        var a=eval(document.form1.t1.value)
        var b=eval(document.form1.t2.value)
        var c=eval(document.form1.t3.value)
        var days=0,last,current
        for(i=0;i<b-1;i++){
            days+=temp[i]
        }
        if(b>2&&((a%400==0)||(a%4==0&&a%100!=0))){
            last=days+1
        }
        else{
            last=days
        }
        current=last+c
        document.form1.t4.value=current
    }</script>
    </head>
    <body>
    <form name=form1>
    <input type=text name=t1 value=2000>年
    <input type=text name=t2 value=3>月
    <input type=text name=t3 value=2>日<input type=button onclick=mm() value=go!><br>
    <input type=text name=t4>
    </form>
    </body>
    </html>
      

  2.   

    还是秋水姐姐好,但是为什么只判断a%4==0不行,还要判断if(b>2&&((a%400==0)||(a%4==0&&a%100!=0)))这么长呢? 是什么原因??
      

  3.   

    我原来的排除一些错误不说,是不是最主要的days没有初始化??