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)
算法是对的,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)
要这样,之前判断错了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)
var d1=new Date("2000/01/01");
var d2=new Date();
var diffYear=d2.getFullYear()-d1.getFullYear();
alert(diffYear);
var d1=new Date("1990/07/31");
var d2=new Date();
var diffYear=d2.getFullYear()-d1.getFullYear();
alert(diffYear);
{
var d1=new Date(str1);
var d2=new Date();
var diffYear=d2.getFullYear()-d1.getFullYear();
alert(diffYear);
return diffYear;
}
<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>
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)
http://topic.csdn.net/u/20090731/10/ad0edac0-4d92-4fe1-bde1-bb43a14f0d6f.html
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)
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)