最新消息:文章中包含代码时,请遵守代码高亮规范!

判断时间差不能大于一整年(要考虑到闰年的情况)【原创】

JavaScript Aimee 246浏览 0评论

在项目中,有时会需要限制客户的选择的时间跨度不能大于一整年,要考虑到闰年的情况,以下是判断的主要代码

//判断是否为闰年,判断是否包含2
var start = new Date(start_date);//转换时间格式
var end = new Date(end_date);
var flag = 0;
var all_day = 365;
var time = end.getTime()-start.getTime();//时间差的毫秒数
if(time<=0){
alert(结束时间不能小于等于开始时间);
return false;
}
show_date_time();
var year_time = all_day*24*60*60*1000;
if(time>year_time){
alert(结束时间与开始时间的时间差不能大于一年);
return false;
}

function show_date_time() {

//注意同getYear的区别
                var startYear = start.getFullYear();
var endYear = end.getFullYear();
var leap_year = ;//代表闰年的229
                var leap_time = ;//代表闰年的229日与开始时间或结束时间的时间差,大于等于开始时间,或者小于等于结束时间代表在这个日期区间包含闰年的229日,一年有366
                //判断年份是否为闰年
                if ((startYear % 4 == 0 && startYear % 100 != 0) || (startYear % 100 == 0 && startYear % 400 == 0)) {
flag = 1;
var date = startYear + “/02/29”;
leap_year = new Date(startYear + “/02/29”);
leap_time = leap_year.getTime()-start.getTime();
//判断日期之间是否包含闰年的229
                    if(leap_time >= 0){
all_day = 366;
}
}
if ((endYear % 4 == 0 && endYear % 100 != 0) || (endYear % 100 == 0 && endYear % 400 == 0)) {
flag = 2;
//                    var date = ;
                    leap_year = new Date(endYear + “/02/29”);
leap_time = leap_year.getTime()-end.getTime();
if(leap_time<=0){
all_day = 366;
}
}
}

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/24267.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者aimee123的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!