参考这里:http://www.blueren.net/ArticleShow.asp?ArticleID=1073

解决方案 »

  1.   

    <input type=text id=birth onblur="cal()" value="1980-12-18">
    <input type=text id=age><script>
    function cal()
    {
    var bir = document.all("birth").value;
    var bs = bir.split("-");
    var birdate = new Date(bs[0], bs[1], bs[2]);
    var d = new Date();
    var temp = (d.valueOf() - birdate.valueOf()) / (86400000 * 365.25) ;
    var i = Math.round(temp);
    alert(i);
    document.all("age").value = i;
    }
    </script>
      

  2.   

    简单例子<html>
    <head>
    <SCRIPT LANGUAGE=javascript>
    <!--
    function datediff(date) 
    {
       var now =new Date();  
       var d = (now.getYear()-date);
       return d;}//-->
    </SCRIPT><title></title>
    </head>
    <body>
    Birthday:<input   type="textbox" Id="Birthday" onBlur="javascript:document.all('Age').value=datediff(this.value);" >
    Age:<input type="textbox" id="Age" >
    </body>
    </html>
      

  3.   

    <html>
    <head>
    <SCRIPT LANGUAGE=javascript>
    <!--
    function cal(ba)
    {
    var age = new Date();
    var ymd = ba.split("-");
    var da = new Date(ymd[0], ymd[1], ymd[2]);document.all("age").value= Math.round((age.valueOf() - da.valueOf()) / (86400000 * 365.25)) ;
    }
    //-->
    </SCRIPT><title></title>
    </head>
    <body>
    Birthday:<input   type="textbox" Id="birth" onBlur="cal(this.value)" ><yyyy-mm-dd>
    Age:<input type="textbox" id="Age" >
    </body>
    </html>
      

  4.   

    Math.round是取整吗 
    是否能保留1位小数?
      

  5.   

    If dob.Text <> "" Then
                        temp_date = DateDiff(DateInterval.Day, CDate(dob.Text), Date.Now) / 365.25
                        age.Text = CStr(Math.Round(temp_date, 1))
                        dob.Attributes.Add("onblur", "javascript:setv()")
                    End If
    <script language="javascript">
    function setv()
    { var ag = new Date(); 
     var ymd = document.all("dob").value.split("/");   if (ymd[1]=="Jan")
       ymd[1]=1
      else if (ymd[1]=="Feb")
       ymd[1]=2
      else if (ymd[1]=="Mar")
       ymd[1]=3
      else if (ymd[1]=="Apr")
       ymd[1]=4
      else if (ymd[1]=="May")
       ymd[1]=5
      else if (ymd[1]=="Jun")
       ymd[1]=6
      else if (ymd[1]=="Jul")
       ymd[1]=7
      else if (ymd[1]=="Agu")
       ymd[1]=8
      else if (ymd[1]=="Sem")
       ymd[1]=9
      else if (ymd[1]=="Oct")
       ymd[1]=10
      else if (ymd[1]=="Nov")
       ymd[1]=11
      else if (ymd[1]=="Dec")
       ymd[1]=12
       
     var da = new Date(ymd[2], ymd[1], ymd[0]);
    //alert(ymd)
    document.all("age").value= Math.round((ag.valueOf() - da.valueOf()) / (86400000 * 365.25)) ;
    }
      

  6.   

    Math.round是取整吗 
    是否能保留1位小数?
    是取整数