论坛首页 Web前端技术论坛

JS比较两个日期的间隔是否够一个周期(如日,周,月,年)

浏览 1946 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-20  

function checkDateCycle() {

var auto = document.getElementById("automatic").value;

if (auto == "true") {

// 获取周期(如:日,周,月,年)

var cycle = document.getElementById("autoCycle").value;

// 获取开始日期(如:2012-10-20)

var startDate = document.getElementById("startDate").value;

// 获取结束日期(如:2012-10-27)

var endDate = document.getElementById("endDate").value;

var startArr = startDate.split("-");

var endArr = endDate.split("-");

// 开始日期转换成Date类型

var startD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

// 结束日期转换成Date类型

var endD = new Date(endArr[0],parseInt(endArr[1])-1,endArr[2]);

 

if (cycle == "day") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setDate(tempD.getDate()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "week") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setDate(tempD.getDate()+7); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "month") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setMonth(tempD.getMonth()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

} else if (cycle == "year") {

var tempD = new Date(startArr[0],parseInt(startArr[1])-1,startArr[2]);

tempD.setFullYear(tempD.getFullYear()+1); 

if (tempD < endD) {

return true;

} else if (tempD > endD) {

return false;

} else {

return true;

}

}

} else {

return true;

}

}

论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics