2017-01-17 24 views
0

今日と日付(mydate)を比較したいと思います。私は私の日付は今日等しい場合とは別に、すべての場合で動作今日と日付をDD-MM-YYYY形式で比較する

new Date(mydate) < new Date(); 

を試してみました。その場合、上記の時間は含まれている時間を比較するので、trueを返します。しかし、私はだけではなく、時間を比較したいです。

私もmoment.jsを試してみました:

moment(mydate).format('DD-MM-YYYY')<moment().format('DD-MM-YYYY') 

をしかし、この1つは仕事をしませんでした。何を書かなければならないのですか?

+2

'YYYYMMDD'形式はそれを動作させる必要があります。 – sp00m

+0

[JavaScriptで時間を比較しないで日付部分を比較する]の可能な複製(http://stackoverflow.com/questions/2698725/comparing-date-part-only-without-comparing-time-in-javascript) – sabithpocker

+1

'moment date2).isAfter(date1、 'day'); '1日を粒度レベルで使用します。ドキュメントはこちら[こちら](http://momentjs.com/docs/#/query/is-before/)DSTの問題を抱えるように瞬間を使用してください。 – sabithpocker

答えて

2

。粒度レベルは、「年」、「月」、「日の

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

これらの支持体のすべての異なるgranulariレベル。あなたの供給の形式で日付を作成するための追記として

は、実行します。

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

は、あなたは、単に次を使用して操作を行うことができた瞬間jsのあなたは瞬間機能isSameを使用し、比較のためにあなたがしたい粒度レベルとして第2引数を提供することができます

$(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'); 
 
    } 
 

 
    }); 
 

 
});
<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>

関連する問題