더북(TheBook)

날짜 간격 계산하기

Date 객체에서 제공하는 메서드 중 getTime() 메서드는 다음과 같이 1970년 1월 1일 12:00 이후의 시간을 밀리초 단위로 반환합니다.

const date = new Date().getTime(); // 1642576421296(코드 실행 시간에 따라 값이 달라짐)

이러한 반환 결과를 활용하면 두 날짜 사이의 간격을 구할 수 있습니다.

11/03/date/getDateDiff.js

const date1 = new Date('2022-12-23');
const date2 = new Date('2022-12-25');
const dateDiff = date2.getTime() - date1.getTime();
const interval = dateDiff / (24 * 60 * 60 * 1000); 
console.log(`두 날짜의 차이는 ${interval}일입니다.`); // 두 날짜의 차이는 2일입니다.

먼저 Date 객체로 날짜 데이터인 인스턴스를 생성합니다. 두 인스턴스에 getTime() 메서드를 사용하면 날짜가 밀리초 단위로 반환되는데, 더 큰 숫자인 미래 날짜에서 더 작은 숫자인 과거 날짜를 뺍니다. 그러면 두 날짜 사이의 간격을 밀리초로 구할 수 있습니다. 이렇게 구한 밀리초를 24(시간) × 60(분) × 60(초) × 1000(밀리초)로 나누면 두 날짜 사이의 간격을 일수로 환산할 수 있습니다.

날짜 사이의 간격을 구하는 방법은 굉장히 유용합니다. 처음엔 이해하기가 어려울 수 있으나 코드를 여러 번 확인해서 꼭 이해하고 넘어가세요.

TIP | Date 객체의 모든 속성과 메서드가 궁금하다면 https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Date 페이지를 참고하세요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.