JavaScript 날짜 객체 비교
P粉724737511
2023-08-03 17:28:16
<p>JavaScript에서 날짜 개체를 비교할 때, 동일한 날짜를 비교해도 true를 반환하지 않는 것을 발견했습니다. </p>
<pre class="brush:php;toolbar:false;">var startDate1 = new Date("2012/02/10");
var startDate2 = new Date("2012/01/10");
var startDate3 = new Date("2012/01/10");
Alert(startDate1>startDate2); // 참
Alert(startDate2==startDate3); //false</pre>
<p>날짜가 같은지 어떻게 비교하나요? 단지 날짜를 비교하기 위해 타사 JavaScript 라이브러리를 사용하는 것은 적절하지 않기 때문에 타사 라이브러리 대신 기본 JavaScript Date 개체를 사용하고 싶습니다. </p>
비교를 위해 신기원 이후의 밀리초 수(예: 숫자)를 반환하는 getTime() 메서드를 사용하여 날짜를 비교합니다.
으아악또한 문자열 표현에 의존하기보다는 명시적인 연/월/일 숫자를 사용하여 Date 객체를 구성하는 것이 좋습니다(Date.parse() 참조). 그리고 JavaScript의 날짜는 항상 클라이언트(브라우저)의 시간대를 사용하여 표현된다는 점을 기억하세요.
두 번째 경우에는 실제 날짜 개체를 비교하고 두 개체가 결코 동일하지 않기 때문입니다. 숫자로 전송하세요:
으아악더 명시적으로 숫자로 변환하려면 다음 방법 중 하나를 사용할 수 있습니다.
으아악오 또는
으아악는 사양의 §11.9.3 추상 평등 비교 알고리즘에 대한 참조로, 기본적으로 객체를 비교할 때 obj1 == obj2가 동일한 객체를 참조하는 경우에만 true이고, 그렇지 않으면 결과는 false입니다.