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));