JavaScript에서 문자열 날짜 비교
다음과 같은 텍스트 형식으로 된 두 날짜가 있다고 가정해 봅시다:
let date1 = '2020-12-01';
let date2 = '2019-12-01';
이 경우, 이 두 날짜를 비교하여 어느 날짜가 더 큰지 알 수 있습니다:
console.log(date1 > date2); // true를 출력합니다
이 날짜 비교는 어떻게 이루어질까요? 사실, 우리의 날짜는 문자열이며 JavaScript는 이를 문자열로 비교합니다. 즉, JavaScript는 먼저 두 날짜의 첫 번째 문자를 비교합니다: 만약 그들이 동일하다면, JavaScript는 두 번째 문자를 비교하고, 차이점을 찾을 때까지 계속해서 비교합니다. 우리 날짜 형식에서 먼저 연도, 그다음 월, 그다음 일이 배치되어 있기 때문에 이러한 비교가 가능합니다.
첫 번째 연도의 숫자가 두 번째 연도의 숫자보다 크면, 월과 일에 무엇이 있는지는 이미 중요하지 않다는 점이 중요합니다. - 첫 번째 연도가 확실히 더 큽니다. 만약 연도가 동일하다면, 월이 더 큰 날짜가 더 클 것입니다. 그리고 월도 동일하다면, 일이 더 큰 날짜가 더 클 것입니다. 음, 일까지 동일하다면, 두 날짜는 같은 것입니다.
날짜가 동일한 형식으로 되어 있어야 하는 것도 중요합니다. 우리의 경우 날짜 부분의 구분자는 하이픈입니다. 물론 이것이 필수는 아닙니다. 예를 들어, 점을 사용할 수 있습니다:
let date1 = '2020.12.01';
let date2 = '2019.12.01';
또는 구분자를 전혀 없앨 수도 있습니다:
let date1 = '20201201';
let date2 = '20191201';
비교가 정확하려면, 배치가 다음과 같아야 한다는 것이 중요합니다: 먼저 연도, 그다음 월, 그다음 일.
아래 주어진 두 날짜를 비교하고 어떤 날짜가 더 큰지 메시지를 출력하는 코드를 작성하세요:
let date1 = '2020-11-30';
let date2 = '2020-12-01';