2010-05-02 10 views
18

가능한 중복 : 나는 많은 자바 스크립트를하지 않은
Compare 2 dates with JavaScript자바 스크립트 날짜 비교

. 두 날짜를 비교하려고합니다. jconsole에서 :

a = ["01/01/2010","01/02/2010","01/03/2010"] 

date1 = new Date('01/02/2010') 
Sat Jan 02 2010 00:00:00 GMT-0800 (PST) 

date2 = new Date(a[1]) 
Sat Jan 02 2010 00:00:00 GMT-0800 (PST) 

date1 == date2 
false 

누군가가 왜 이것이 일치하지 않는지 말할 수 있습니까?

+7

이 흥미 롭다 그 모두'> ='와'<='복귀'TRUE '에서 이 경우지만'=='는'false'를 제공합니다. 또 다른 JavaScript 기적. – Kobi

답변

38

date1date2은 단순히 다른 개체에 대한 참조이므로 실제로 비교할 수 있습니다. 이러한 참조는 실제로 비교 대상입니다. 다음과 같이

날짜 값의 적절한 비교를 수행하려면 getTime() 방법을 사용할 수 있습니다 :

date1.getTime() === date2.getTime(); // returns true 
+1

좋습니다. 그래서 '==='도 유형을 비교합니다. '<=' and '> ='도 유형을 비교합니까? – user290870

+1

@ ash34 : 네, 일반적으로'=='대신'==='를 사용하는 것이 좋습니다. 또한 https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Comparison_Operators에서이 참조를 확인할 수 있습니다. 우선, "두 객체가 동일한 객체를 참조한다면 똑같은 객체입니다."... 다른 비교 연산자에 대한 설명도 확인하십시오. –