If current time is between two times using moment

前端 未结 2 1729
不知归路
不知归路 2021-01-16 06:00

I\'m trying to find if the current local time is between two other times using momentjs.

I have the following code:

var currentTime = moment().format         


        
相关标签:
2条回答
  • 2021-01-16 06:37

    Don't format the dates you get back from moment if you're planning on comparing them.

    format() returns a string, not a date/time-comparable object.

    var currentTime = moment();
    
    var extra = moment().format('YYYY-MM-DD') + ' ';
    var start_time = moment(extra + '16:00');
    var end_time = moment(extra + '16:30');
    
    if (moment(currentTime).isBetween(start_time, end_time))
      console.log('TRUE');
    else
      console.log('FALSE');
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>

    0 讨论(0)
  • 2021-01-16 06:38

    You don't need to format the date:

    var currentTime = moment();
    
    var prefix = moment();
    // the prefix is because moment expects a date prefix when parsing
    var start_time = prefix.add(16, 'hours');
    var end_time = mprefix.add(16, 'hours').add(30, 'minutes');
    
    if( moment(currentTime).isBetween(start_time,end_time) )
        alert('TRUE');
    else
        alert('FALSE');
    
    0 讨论(0)
提交回复
热议问题