使用DD-MM-YYYY格式比较一个日期和今天

时间:2017-01-17 12:30:58

标签: javascript date momentjs

我想将日期(mydate)与今天进行比较。我试过了

new Date(mydate) < new Date();

适用于所有情况除了我的日期等于今天的情况。在这种情况下,上面返回true,因为它比较了包含的时间。但是,我只想比较日期,而不是时间。

我也试过了moment.js:

moment(mydate).format('DD-MM-YYYY')<moment().format('DD-MM-YYYY')
然而,即使这个也没有奏效。我该怎么写?

2 个答案:

答案 0 :(得分:2)

您可以使用时刻函数isSame并提供第二个参数作为比较所需的粒度级别。粒度级别可以是“年”,“月”,“日”等字符串

moment('2010-01-01').isSame('2010-02-01', 'day'); 

您还可以查看其中记录的类似功能,这些功能可以帮助您更好地满足您的要求。

  1. Is Before
  2. Is Same
  3. Is After
  4. Is Same or Before
  5. Is Same or After
  6. Is Between
  7. 所有这些都支持不同的粒度级别。

    作为旁注,要以您提供的格式创建日期,请执行以下操作:

    moment("25-12-1995", "DD-MM-YYYY");
    

答案 1 :(得分:0)

您可以使用时刻js

简单地执行以下操作

&#13;
&#13;
$(document).ready(function() {
  
  $('.compare').click(function(e) {
  
    var date = $('#date').val();
  
    var now = moment().format('YYYY-MM-DD');
    var then = moment(date).format('YYYY-MM-DD');

    if (now > then) {
      $('.result').text('Date is past');
    } else if(now == then) {
      $('.result').text('Date is today');
    } else {
      $('.result').text('Date is future');
    }

  });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<input type="text" name="date" id="date" value="2014-12-18"  placeholder="yyyy-mm-dd">
<button class="compare">Compare date to current date</button>
<br>
<div class="result"></div>
&#13;
&#13;
&#13;