如果“迄今为止”与“从日期”不同的月份,则日期范围验证有效

时间:2015-06-11 14:45:57

标签: javascript angularjs date momentjs

我有搜索日期范围'从日期'& '到目前为止'我的验证功能是否使数据有效,如果日期不在同一个月?例如,如果从日期“2015-06-02”到日期“2015-06-01”,范围是无效范围?但如果我将日期设为“2015-05-31”,则有效范围为if range in same month if range not in same month

var validateDateRange = function () {
    var fromDate = moment($scope.model.fromDateSearch, 'MM-DD-YYYY');
    var toDate = moment($scope.model.toDateSearch, 'MM-DD-YYYY');
    var a = (fromDate > toDate) ;
    return a;

};
  

2 个答案:

答案 0 :(得分:0)

你应该使用自Unix Epoch以来的毫秒数,它更安全。

var validateDateRange = function () {
    var fromDate = moment($scope.model.fromDateSearch, 'MM-DD-YYYY').valueOf();
    var toDate = moment($scope.model.toDateSearch, 'MM-DD-YYYY').valueOf();
    var a = (fromDate < toDate) ;
    return a;
};

注意'低于'符号。

答案 1 :(得分:0)

您传递的日期格式存在一些问题。因此,如果您只是删除格式并传入值,它也会起作用。

运行并检查其工作正常下方的代码段

var validateDateRange = function (fromDate, toDate) {
    var fromDate = moment(fromDate);
    var toDate = moment(toDate);
    var a = (fromDate > toDate) ;
    return a;

};

var fromDate= new Date("2015-06-02");
var toDate = new Date("2015-06-01");
alert(validateDateRange(fromDate, toDate));

var fromDate= new Date("2015-06-02");
var toDate = new Date("2015-05-31");
alert(validateDateRange(fromDate, toDate));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.js"></script>