How to check if input date is equal to today's date?

JavascriptJquery

Javascript Problem Overview


I have a form input with an id of 'date_trans'. The format for that date input (which is validated server side) can be any of:

  • dd/mm/yyyy
  • dd-mm-yyyy
  • yyyy-mm-dd
  • yyyy/mm/dd

However, before posting the form, I'd like to check if the date_trans field has a date that is equal to today's date. Its ok if the date taken is the client's date (i.e. it uses js), since I run a double check on the server as well.

I'm totally lost on how to do the date comparrison in jQuery or just plain old javascript. If it helps, I am using the jquery datepicker

Javascript Solutions


Solution 1 - Javascript

A simple date comparison in pure JS should be sufficient:

// Create date from input value
var inputDate = new Date("11/21/2011");

// Get today's date
var todaysDate = new Date();

// call setHours to take the time out of the comparison
if(inputDate.setHours(0,0,0,0) == todaysDate.setHours(0,0,0,0)) {
    // Date equals today's date
}

Here's a working JSFiddle.

Solution 2 - Javascript

for completeness, taken from this solution:

You could use toDateString:

var today = new Date();
var isToday = (today.toDateString() == otherDate.toDateString());

no library dependencies, and looking cleaner than the 'setHours()' approach shown in a previous answer, imho

Solution 3 - Javascript

Try using moment.js

moment('dd/mm/yyyy').isSame(Date.now(), 'day');

You can replace 'day' string with 'year, month, minute' if you want.

Solution 4 - Javascript

function sameDay( d1, d2 ){
  return d1.getUTCFullYear() == d2.getUTCFullYear() &&
         d1.getUTCMonth() == d2.getUTCMonth() &&
         d1.getUTCDate() == d2.getUTCDate();
}

if (sameDay( new Date(userString), new Date)){
  // ...
}

Using the UTC* methods ensures that two equivalent days in different timezones matching the same global day are the same. (Not necessary if you're parsing both dates directly, but a good thing to think about.)

Solution 5 - Javascript

Just use the following code in your javaScript:

if(new Date(hireDate).getTime() > new Date().getTime())
{
//Date greater than today's date 
}

Change the condition according to your requirement.Here is one link for comparision compare in java script

Solution 6 - Javascript

The following solution compares the timestamp integer divided by the values of hours, minutes, seconds, millis.

var reducedToDay = function(date){return ~~(date.getTime()/(1000*60*60*24));};
return reducedToDay(date1) == reducedToDay(date2)

The tilde truncs the division result (see this article about integer division)

Solution 7 - Javascript

Date.js is a handy library for manipulating and formatting dates. It can help in this situation.

Solution 8 - Javascript

Try this

// method to check date is less than today date
  isLessDate(schedule_date : any){
    var _schedule_date = new Date(schedule_date);
    var date = new Date();
    var transformDate = this.datePipe.transform(date, 'yyyy-MM-dd');
    var _today_date = new Date(''+transformDate);
    if(_schedule_date < _today_date){
      return 'small'
    }
    else if(_schedule_date > _today_date){
      return 'big'
    }
    else {
      return 'same'
    }
  }

Solution 9 - Javascript

The Best way and recommended way of comparing date in typescript is:

var today = new Date().getTime();
var reqDateVar = new Date(somedate).getTime();

if(today === reqDateVar){
 // NOW
} else {
 // Some other time
}

Solution 10 - Javascript

TodayDate = new Date();
if (TodayDate > AnotherDate) {} else{}

< = also works, Although with =, it might have to match the milliseconds.

Solution 11 - Javascript

There is a simpler solution

if (inputDate.getDate() === todayDate.getDate()) {
   // do stuff
}

like that you don't loose the time attached to inputDate if any

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJonoBView Question on Stackoverflow
Solution 1 - JavascriptJames HillView Answer on Stackoverflow
Solution 2 - JavascriptschellmaxView Answer on Stackoverflow
Solution 3 - JavascriptCengkarukView Answer on Stackoverflow
Solution 4 - JavascriptPhrogzView Answer on Stackoverflow
Solution 5 - JavascriptRavi KantView Answer on Stackoverflow
Solution 6 - JavascriptL-RayView Answer on Stackoverflow
Solution 7 - JavascriptDiodeus - James MacFarlaneView Answer on Stackoverflow
Solution 8 - Javascriptshehan96View Answer on Stackoverflow
Solution 9 - JavascriptDineshgaruView Answer on Stackoverflow
Solution 10 - JavascriptRonkView Answer on Stackoverflow
Solution 11 - JavascriptAdwichView Answer on Stackoverflow