var d1 = new Date("02/22/2018");
var d2 = new Date("02/22/2018");
if(d1 == d2){
}
** - this is not working. its always return false. but if I write a condition as bellow then its working fine.**
if(d1 <= d2 && d1 >= d2){
}
var d1 = new Date("02/22/2018");
var d2 = new Date("02/22/2018");
if(d1 == d2){
}
** - this is not working. its always return false. but if I write a condition as bellow then its working fine.**
if(d1 <= d2 && d1 >= d2){
}
Dates are objects, and are compared by reference, bot by value. Try this:
d1.getTime() === d2.getTime();
It might be checking the reference. Can you try
var d1 = new Date("02/22/2018");
var d2 = new Date("02/22/2018");
if(d1.getTime() === d2.getTime()){
}
You can use .getTime();
method to compare two date objects.
var d1 = new Date("02/22/2018");
var d2 = new Date("02/22/2018");
console.log(d1.getTime() == d2.getTime())
console.log(d1.valueOf() == d2.valueOf())
The getTime()
method returns the date as an integer, what you are doing there is comparing objects, rather than value.
Instead of getTime()
you can also use valueOf()
.
The valueOf()
method returns the primitive value of the specified object
You can do this way.
var d1 = new Date("02/22/2018");
var d2 = new Date("02/22/2018");
if (d1.getTime() === d2.getTime()) {
console.log("same");
} else {
console.log("differ");
}