已经在页面取得一个日期格式为:31-07-1990,要与当前的日期做对比,得出够不够多少年,如果今天是:01-08-2009,这样说来只有18年没有到19年,但是我想只要超出就算19,应该怎么写啊 

解决方案 »

  1.   


    var d1=new Date("2000/01/01");
    var d2=new Date();
    var diffYear=d2.getFullYear()-d1.getFullYear();
    alert(diffYear);
      

  2.   

    根据你的日期如下:
    var d1=new Date("1990/07/31"); 
    var d2=new Date();
    var diffYear=d2.getFullYear()-d1.getFullYear();
    alert(diffYear);
      

  3.   

           得出的结果还是超过了几岁,还是算几岁,我的意思是超过了就算一天也算岁数加一       function show(str1)   //str1的格式是08-09-2004
           {
            
            var d1=new Date(str1); 
            var d2=new Date();
            var diffYear=d2.getFullYear()-d1.getFullYear();
            alert(diffYear);
            return diffYear;
           
           }
      

  4.   


    <script type="text/javascript">
    <!--
    function getDiff(){
    MaxY = "2009/08/01";
    MinY = "1990/08/01";
    D1 = new Date(MaxY);
    D2 = new Date(MinY);
    DiffYear = D1.getFullYear() - D2.getFullYear();
    DiffDate = MaxY.substr(5).replace("/","") >= MinY.substr(5).replace("/","");
    if(DiffYear > 19 || ((DiffYear == 19) && DiffDate)){
    alert("Over")
    }else{
    alert("Less");
    }
    }
    getDiff();
    //-->
    </script>
      

  5.   


    s = "31-7-1990"
    a = s.split("-");
    dt = new Date(parseInt(a[2]),parseInt(a[1])-1,parseInt(a[0]));
    td = new Date();
    td = new Date(td.getFullYear(),td.getMonth(),td.getDate());
    y = td.getFullYear()-dt.getFullYear();
    dt1 = new Date(parseInt(a[2])+y,parseInt(a[1])-1,parseInt(a[0]))
    dif = td.valueOf() - dt1.valueOf()
    if (dif<0) y = y + 1
    alert(y)
      

  6.   

    .....难道我上次答得不对
    http://topic.csdn.net/u/20090731/10/ad0edac0-4d92-4fe1-bde1-bb43a14f0d6f.html
      

  7.   

    算法是对的,parseInt出的问题,改一下
    s = "31-7-1990"
    a = s.split("-");
    dt = new Date(parseInt(a[2]),a[1]-1,a[0]);
    td = new Date();
    td = new Date(td.getFullYear(),td.getMonth(),td.getDate());
    y = td.getFullYear()-dt.getFullYear();
    dt1 = new Date(parseInt(a[2])+y,a[1]-1,a[0])
    dif = td.valueOf() - dt1.valueOf()
    if (dif<0) y = y + 1
    alert(y)
      

  8.   

    要这样,之前判断错了s = "06-08-2008"
    a = s.split("-");
    dt = new Date(parseInt(a[2]),a[1]-1,a[0]);
    td = new Date();
    td = new Date(td.getFullYear(),td.getMonth(),td.getDate());
    y = td.getFullYear()-dt.getFullYear();
    dt1 = new Date(parseInt(a[2])+y,a[1]-1,a[0])
    dif = td.valueOf() - dt1.valueOf()
    if (dif>=0) y = y + 1
    alert(y) 
      

  9.   

    getFullYear(),getMonth(),getDate() 一个一个判断大小吧