<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>
简单例子<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>
<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>
Math.round是取整吗 是否能保留1位小数?
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)) ; }
<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>
<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>
<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>
是否能保留1位小数?
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)) ;
}
是否能保留1位小数?
是取整数