비교하고 싶은 날짜와 시간을 Date 인스턴스에 넣고 getTime()
을 사용하여 밀리초를 구합니다. 밀리초는 자바스크립트에서 가장 간단한 시간 단위로 두 날짜의 밀리초를 계산하여 차이를 구합니다. 계산 후 알아보기 쉬운 단위로 변환이 필요하다. 일수(day)는 결괏값을 24 * 60 * 60 * 1000
으로 나누면 확인할 수 있습니다.
날짜
const dateA = new Date('2020/06/01');
const dateB = new Date('2020/05/01');
const diffMSec = dateA.getTime() - dateB.getTime();
const diffDate = diffMSec / (24 * 60 * 60 * 1000);
console.log(`날짜의 차이는 ${diffDate}일입니다.`); // 날짜의 차이는 31일
시간
const dateA = new Date('2020/06/01 10:00:00');
const dateB = new Date('2020/06/01 07:00:00');
const diffMSec = dateA.getTime() - dateB.getTime();
const diffHour = diffMSec / (60 * 60 * 1000);
console.log(`시간의 차이는 ${diffHour}시간입니다.`); // 시간의 차이는 3시간
분
const dateA = new Date('2020/06/01 01:10:00');
const dateB = new Date('2020/06/01 00:50:00');
const diffMSec = dateA.getTime() - dateB.getTime();
const diffHour = diffMSec / (60 * 1000);
console.log(`시간의 차이는 ${diffHour}분입니다.`); // 시간의 차이는 20분