How to compare only date in moment.js

后端 未结 5 1838
余生分开走
余生分开走 2020-12-08 03:38

I am new to moment.js. I have a date object and it has some time associated with it. I just want to check if that date is greater than or equal to today\'s date,

相关标签:
5条回答
  • 2020-12-08 03:57

    The docs are pretty clear that you pass in a second parameter to specify granularity.

    If you want to limit the granularity to a unit other than milliseconds, pass the units as the second parameter.

    moment('2010-10-20').isAfter('2010-01-01', 'year'); // false
    moment('2010-10-20').isAfter('2009-12-31', 'year'); // true
    

    As the second parameter determines the precision, and not just a single value to check, using day will check for year, month and day.

    For your case you would pass 'day' as the second parameter.

    0 讨论(0)
  • 2020-12-08 04:02

    You could use startOf('day') method to compare just the date

    Example :

    var dateToCompare = moment("06/04/2015 18:30:00");
    var today = moment(new Date());
    
    dateToCompare.startOf('day').isSame(today.startOf('day'));
    
    0 讨论(0)
  • 2020-12-08 04:14

    Meanwhile you can use the isSameOrAfter method:

    moment('2010-10-20').isSameOrAfter('2010-10-20', 'day');
    

    Docs: https://momentjs.com/docs/#/query/is-same-or-after/

    0 讨论(0)
  • 2020-12-08 04:22

    For checking one date is after another by using isAfter() method.

    moment('2020-01-20').isAfter('2020-01-21'); // false
    moment('2020-01-20').isAfter('2020-01-19'); // true
    

    For checking one date is before another by using isBefore() method.

    moment('2020-01-20').isBefore('2020-01-21'); // true
    moment('2020-01-20').isBefore('2020-01-19'); // false
    

    For checking one date is same as another by using isSame() method.

    moment('2020-01-20').isSame('2020-01-21'); // false
    moment('2020-01-20').isSame('2020-01-20'); // true
    
    0 讨论(0)
  • 2020-12-08 04:24

    In my case i did following code for compare 2 dates may it will help you ...

    var date1 = "2010-10-20";
    var date2 = "2010-10-20";
    var time1 = moment(date1).format('YYYY-MM-DD');
    var time2 = moment(date2).format('YYYY-MM-DD');
    if(time2 > time1){
    	console.log('date2 is Greter than date1');
    }else if(time2 > time1){
    	console.log('date2 is Less than date1');
    }else{
    	console.log('Both date are same');
    }
    <script src="https://momentjs.com/downloads/moment.js"></script>

    0 讨论(0)
提交回复
热议问题