两个日期之间的比较

时间:2017-08-11 17:08:30

标签: javascript angularjs

我有一个日历,并有以下两种情况:

案例 - 1

  • current_month = 8(aug)
  • end_month = 10(oct)
  • current_year = 2017
  • end_year = 2017

案例 - 2

  • current_month = 8(aug)
  • end_month = 2(feb)
  • current_year = 2017
  • end_year = 2018

当我点击下个月时,它应该只移动到" end_month"。满足这两种情况应该是什么条件:

if(condition)
  alert("Move to next month");
else
  alert("condition fail");

我尝试过比较开始日期和结束日期对象,但我能够再多搬一个月,这不应该发生。 我使用了以下条件:

  • cal_date =星期二2017年01月01日23:58:33 GMT + 0530(印度标准时间)
  • $ scope.edate = 2017年11月15日星期三00:00:00 GMT + 0530(印度标准时间)

    if (cal_date.getMonth() > $scope.edate.getMonth() + 1 || cal_date.getMonth() == $scope.edate.getMonth() || $scope.edate.getFullYear() <= new Date().getFullYear()) 
    
    if (cal_date.getMonth() > $scope.edate.getMonth() || cal_date.getMonth() == $scope.edate.getMonth()) 
    
    if (cal_date.getTime() < new Date(new Date($scope.edate) - 1)) {
    
    if (cal_date < $scope.edate) {
    

1 个答案:

答案 0 :(得分:0)

我个人会创建Date对象:

var current = new Date(year,month)
var end = new Date(year,month)

然后测试:

if ( current<end )

这可能是最简单的方法。