js计算,输入参数即可计算昨天,今天,明天

var str1 = '2010年9月16日';
var str2 = '2010-09-10';
//用字符串分割, 精确到日
function Days(day1, day2){
    var y1, y2, m1, m2, d1, d2;//year, month, day;
    y1 = parseInt(day1);
    y2 = parseInt(day2.split('-')[0]);
    m1 = parseInt(day1.split('年')[1].split('月')[0]);
    m2 = parseInt(day2.split('-')[1]);
    d1 = parseInt(day1.split('年')[1].split('月')[1].split('日')[0]);
    d2 = parseInt(day2.split('-')[2]);
    var date1 = new Date(y1, m1, d1);
    var date2 = new Date(y2, m2, d2);
   
    //用距标准时间差来获取相距时间
    var minsec = Date.parse(date1) - Date.parse(date2);
    var days = minsec / 1000 / 60 / 60 / 24; //factor: second / minute / hour / day
    return days;
}
alert(Days(str1, str2));
<html> 
<head> 
<meta charset="UTF-8"/>
<title>js获取日期:前天、昨天、今天、明天、后天</title> 
</head> 

<body> 
<script language="JavaScript" type="text/javascript"> 
Date.prototype.DateAdd = function(strInterval, Number) 
{ 
var dtTmp = this; 
switch (strInterval) { 
case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number)); 
case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number)); 
case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number)); 
case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number)); 
case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number)); 
case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds()); 
} 
} 

function GetDateStr2(AddDayCount) 
{ 
var dd = new Date(); 
ddd = dd.DateAdd('d',AddDayCount);//三天后 
var y = ddd.getFullYear(); 
var m = ddd.getMonth()+1;//获取当前月 
var d = ddd.getDate(); 
return y+"-"+m+"-"+d; 
} 


document.write("前天:"+GetDateStr2(-2)); 
document.write("<br />昨天:"+GetDateStr2(-1)); 
document.write("<br />今天:"+GetDateStr2(0)); 
document.write("<br />明天:"+GetDateStr2(1)); 
document.write("<br />后天:"+GetDateStr2(2)); 
document.write("<br />大后天:"+GetDateStr2(3)); 

</script> 

</body> 
</html> 




var str1 = '2010年9月16日';
var str2 = '2010-09-10';
//用字符串分割, 精确到日
function Days(day1, day2){
    var y1, y2, m1, m2, d1, d2;//year, month, day;
    y1 = parseInt(day1);
    y2 = parseInt(day2.split('-')[0]);
    m1 = parseInt(day1.split('年')[1].split('月')[0]);
    m2 = parseInt(day2.split('-')[1]);
    d1 = parseInt(day1.split('年')[1].split('月')[1].split('日')[0]);
    d2 = parseInt(day2.split('-')[2]);
    var date1 = new Date(y1, m1, d1);
    var date2 = new Date(y2, m2, d2);
   
    //用距标准时间差来获取相距时间
    var minsec = Date.parse(date1) - Date.parse(date2);
    var days = minsec / 1000 / 60 / 60 / 24; //factor: second / minute / hour / day
    return days;
}
alert(Days(str1, str2));