Search code examples
javascriptdayjs

dayjs: date supplied from mongodb is at least 5 minutes old


I'm using dayjs and trying to figure out how to check if a date is at least 5 minutes ago.

Here is an example of a date: 2021-11-04T12:20:46.485Z

Its probably some subtracting and adding 5 somewhere but the MongoDB format and dayjs is somewhat confusing.

Ref ? https://day.js.org/docs/en/query/is-after


Solution

  • Check this out:

    Using vanilla JS date object, you can find the difference in minutes between two dates. Example:

    const today = new Date(); // This represents the current date + time
    
    const difference = parseInt(
       (Math.abs(today.getTime() - OTHERDATEOBJECT.getTime()) / (1000 * 60)) % 60);
    
    // Handling the difference
    if (difference > 5) {
       // Do something if it was at least 5 minutes ago
    } else {
       // If not 5 minutes ago, do something else
    }
    

    If you are passing it a date string, you may need to create a new date object with it before you can compare it to your "today" date object

    like so:

    const difference = parseInt(
       (Math.abs(today.getTime() - (new Date(OTHERDATE)).getTime()) / (1000 * 60)) % 60);