角度的日期比较验证

时间:2017-12-08 07:15:55

标签: angularjs validation date

我有2个日期:1.start和2.end 格式是这样的。

12/4/2017               console.log(startDate);
12/20/2017              console.log(endDate);

我正在编写验证以检查结束日期是否大于开始日期抛出错误,但它无法正常工作。 这就是我的尝试:

var startDate = new Date(this.formB['startDateVal']).toLocaleDateString();
var endDate=new Date(this.formB['dueDateVal']).toLocaleDateString();

这是我的条件:

if(endDate<startDate){
      this.bucketMsgClass='fielderror';
      this.bucketSuccessMsg = 'End Date is must lower than Start Date.';
 }

我在哪里做错了。?

2 个答案:

答案 0 :(得分:1)

通过此链接解释比较javascript中的日期可能会帮助您理解问题并解决它。

Compare two dates with JavaScript

答案 1 :(得分:1)

我总是从另一个中减去其中一个日期。如果结果为负,则日期1在日期2之前。

var d1 = new Date("12/12/2017");
var d2 = new Date("12/13/2017");

console.log(d1 - d2) // -86400000 (exactly 1 day in milliseconds)

所以

if (d1 - d2 < 0) {
    // d1 is smaller
}