init {
String startDate = "2020-08-25";
String endDate = "2021-08-25";
boolean b = checkIsOneYear(startDate, endDate);
}
var checkIsOneYear = function(startDate, endDate){
//平年每年的毫秒数
var ms = 31536000000;
//将yyyy-mm-dd时间转成数组
var startArr = startDate.split("-");
var endArr = endDate.split("-");
//生成Date数据
var start = new Date(parseInt(startArr[0]), parseInt(startArr[1])-1, parseInt(startArr[2]), 0, 0, 0);
var end = new Date(parseInt(endArr[0]), parseInt(endArr[1])-1, parseInt(endArr[2]), 0, 0, 0);
//取出年月,用于判断是否为闰年
var startYear = start.getFullYear();
var startMonth = start.getMonth();
var endYear = end.getFullYear();
var endMonth = end.getMonth();
//闰年判断
if(isLeapYear(startYear) && startMonth <= 2){
//加一天
ms += 86400000;
} else if(isLeapYear(endYear) && endMonth >= 2){
ms += 86400000;
}
//结束时间-开始时间的毫秒数
var intervarMs = Number(end) - Number(start);
//对当前日期的处理,只取年月日,不要时分秒
var nowDate = new Date();
var now = nowDate.getFullYear() + "-" + (nowDate.getMonth()+1) + "-" +nowDate.getDate();
var nowArr = now.split("-");
var now = new Date(parseInt(nowArr[0]), parseInt(nowArr[1])-1, parseInt(nowArr[2]), 0, 0, 0);
//当前时间-开始时间的毫秒数
var intervalNow = Number(now)-Number(start);
if(intervarMs > 0){
if(intervarMs >= ms){
alert("开始日期距结束日期跨度超过一年");
}
if(intervalNow >= ms){
alert("开始日期距当前日期跨度超过一年");
}
} else{
alert("开始日期不能晚于结束日期");
}
}
//闰年判断
var isLeapYear = function(year){
if(year % 100 == 0){
if(year % 400 == 0){
return true;
}
} else if(year % 4 == 0){
return true;
}
return false;
}
两个日期区间跨度是否超过一年,开始日期距当前日期是否超过一年——js实现
最新推荐文章于 2024-08-21 04:32:50 发布