六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

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

[复制链接]

升级  6.67%

14

主题

14

主题

14

主题

秀才

Rank: 2

积分
60
 楼主| 发表于 2013-1-29 08:35:56 | 显示全部楼层 |阅读模式
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;
}
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表