Friday, May 10, 2024
 Popular · Latest · Hot · Upcoming
1
rated 0 times [  8] [ 7]  / answers: 1 / hits: 27568  / 14 Years ago, sat, november 27, 2010, 12:00:00

I am trying this but is not working... why?



<html>
<body>
<script type=text/javascript>

var today=new Date(); //today is Nov 28, 2010
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
document.write(today+ );

var today2 = new Date(November 28, 2010);
document.write(today2 + );
if (today == today2) { document.write(==);
if (!(today > today2) && !(today < today2) ) {document.write(== );}
if (today > today2) { document.write(> );}
if (today >= today2 ){ document.write(>= );}
if (today < today2 ) { document.write(< );}
if (today <= today2 ){ document.write(<= );}

</script>
</body>
</html>


And I always get this:



Sun Nov 28 2010 00:00:00 GMT+0900 (JST) Sun Nov 28 2010 00:00:00 GMT+0900 (JST) > >=


Aren't both dates to be the same? Hence, I should get == printed but is not happening... ;(



Thank you for your help in advance.


More From » javascript

 Answers
22

They will never match because you're comparing two separate Date object instances.



You need to get some common value that can be compared. For example .toDateString().



today.toDateString() == today2.toDateString();  // true


If you just compare two separate Date objects, even if they have the exact same date value, they are still different.



For example:



today == new Date( today );  // false


They are the same date/time value, but are not the same object, so the result is false.


[#94816] Thursday, November 25, 2010, 14 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jonmicahm

Total Points: 603
Total Questions: 120
Total Answers: 108

Location: Guam
Member since Fri, Jul 31, 2020
4 Years ago
;