js判断日期范围

JS 中的 Date 类型可以比较大小
new Date(‘2021-01-10’) < new Date(‘2021-01-11’)
返回的结果是 true

var startDate1 = _this.transferDate(val.startDate);
var endDate1 = _this.transferDate(val.endDate);
startDate1.setFullYear(startDate1.getFullYear() + 10);
if (endDate1 > startDate1 ) {
	alert('时间范围不在10年内');
}
// var startDate1 = Date.parse(new Date(val.startDate));
// var endDate1 = Date.parse(new Date(val.endDate));
// var startDate1 = new Date(val.startDate).getTime();
// var endDate1 = new Date(val.endDate).getTime();
var startDate1 = _this.transferDate(val.startDate).valueOf();
var endDate1 = _this.transferDate(val.endDate).valueOf();

if (endDate1 - startDate1 > 315619200000 ) {
		alert('时间范围不在10年内');
}

解决new Date()IE不支持传参:

transferDate: function(dateString) {
     // 用空格(带时分秒空格区分)拆分日期
     var _dateString = dateString.split(' ');
     // 获取日期 =>年月日
     var _date = _dateString[0].split('-');
     // 创建一个新的日期
     var _newDate = new Date();
     // 设置当前日期  年月日 (注意原始的月份是0 -11 )
     _newDate.setUTCFullYear(
         //  年
         _date[0],
         // 月
         ((_date[1] ? _date[1] : 0) - 1),
         // 日
         (_date[2] ? _date[2] : 1)
     );
     var _len = _dateString.length;
     // 对时分秒的处理
     if (_len > 1) {
         // 获取时间 => 时分秒
         var _times = _dateString[_len - 1].split(':');
         // 设置当前时间 时分秒  (注意时区转换,北京时间,东八区加了8,所以先减去8 )
         _newDate.setUTCHours(
             // 时
             ((_times[0] ? _times[0] : 0) - 8),
             // 分
             (_times[1] ? _times[1] : 0),
             // 秒
             (_times[2] ? _times[2] : 0),
             // 毫秒
             (_times[3] ? _times[3] : 0)
         );
     }
     return _newDate;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值