>웹 프론트엔드 >JS 튜토리얼 >js 문자열 날짜 직접 비교 크기

js 문자열 날짜 직접 비교 크기

高洛峰
高洛峰원래의
2016-12-02 15:55:422917검색

오늘 버그가 발생했습니다. 1년 동안 진행한 프로젝트에서 갑자기 날짜 비교에 오류가 발생했습니다. 결국 그 이유는 문자열 날짜를 직접 비교했기 때문인 것으로 밝혀졌습니다.


디버깅 결과로 바로 가보겠습니다.


많은 사람들이 js 문자열 날짜를 직접 비교할 수 있어 더 똑똑하다고 말합니다

alert(" 2016-10 -01" > "2016-10-02");//false
//js를 시간 형식으로 비교하든, 문자열 형식으로 비교하든 상관없이 반환값은 false입니다

, 비교가 가능하도록


그러나 문자열 날짜가 불규칙한 경우, 예를 들면 다음과 같습니다.

alert("2016-10-4" > ; "2016-10- 30");//true

//여기서 js는 문자열 비교로 처리하므로 직접 비교할 수 없으며 날짜 형식으로 변환해야 합니다

var date1 = new Date(" 2016-10-4");
var date2 = new Date("2016-10-10");

alert(date1> date2);//false


yy/mm/dd 형식의 문자열 날짜도 동일합니다


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.