'I would like to check if the current time is before 11:00 with moment.js. How can I achieve this?

I'm working with the moment.js library, If I want to check if the current time is less than 11:00 or not How do I achieve this?

let  todaysDate = moment() // "yyyy-mm-dd"
var time = "22:59";  // set condition to just before 11:00
var elevenOclockTimeCheck = moment(todaysDate).startOf(time); 
 
// check to see if time is equal or greater to 11:00 PM
console.log(elevenOclockTimeCheck);

// If it is before 11:00 then execte if block
                
if (todaysDate < elevenOclockTimeCheck) {

}


Solution 1:[1]

Note that you don't need moment.js for this - straight js date / time manipulation will get it done.

const todaysDate = new Date();
const hours = todaysDate.getHours();
const isBefore11 = hours <= 11;
const result = `The time ${isBefore11 ? 'is' : 'is not'} before 11`;

console.log(result);
// my current time is 11:02pm (23:02)- so this consoles 'The time is not before 11'

Solution 2:[2]

You can use from below code:

moment().isBefore(moment({ hour:11, minute: 0}));

Solution 3:[3]

Just call the .hour getter and compare

moment().hour() < 11;

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 masoud
Solution 3 svarog