오늘날의 세계에서 날짜와 시간은 다양한 웹 애플리케이션에서 중요한 역할을 한다. 스케줄링 앱이든, 전자상거래 플랫폼이든 소셜 미디어 웹사이트든 두 날짜의 차이를 계산해야 하는 경우가 많다. 날짜 및 시간 작업에 가장 인기 있는 JavaScript 라이브러리 중 하나인 Moment.js를 사용하여 두 날짜 간의 차이를 계산하는 방법에 대해 알아보겠습니다.
Moment.js 란?
Moment.js 는 자바스크립트에서 날짜와 시간을 분석, 검증, 조작, 포맷하기 위한 오픈 소스 라이브러리이다. 이것은 날짜와 시간으로 작업하는 네이티브 자바스크립트 방식에 비해 날짜와 시간으로 작업하는 것을 훨씬 더 쉽고 오류 발생률이 낮다.
설치
Moment.js는 터미널에서 다음 명령을 실행하여 npm을 통해 설치할 수 있습니다
npm install moment
CDN에서 직접 HTML 파일에 Moment.js 라이브러리를 포함할 수 있습니다
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
두 날짜의 차이 계산 (diff method 사용)
Moment.js를 사용하여 두 날짜 간의 차이를 계산하려면 diff() 방법을 사용할 수 있습니다. diff() 메서드에는 두 가지 인수가 사용됩니다. 첫 번째 인수는 비교할 날짜이고 두 번째 인수는 비교할 날짜입니다. diff() 메서드는 두 날짜 간의 차이를 밀리초 단위로 반환합니다.
다음은 두 날짜의 차이를 계산하는 예입니다
const date1 = moment("2023-01-01"); const date2 = moment("2023-12-31"); const difference = date2.diff(date1, 'days'); console.log(difference); // 364
moment() 방법을 사용하여 “2023-01-01″과 “2023-12-31” 날짜에 대한 두 개의 moment 객체를 만듭니다. 그런 다음 diff() 방법을 사용하여 두 날짜(일) 간의 차이를 계산합니다.
diff() 메서드는 기본적으로 두 날짜 간의 차이를 밀리초 단위로 계산합니다. 다른 단위(예: 일, 시간 또는 분)의 차이를 얻으려면 diff() 메서드에 대한 두 번째 인수로 단위를 지정해야 합니다. 이 예제에서는 ‘days’를 두 번째 인수로 지정하여 일 단위의 차이를 구했습니다.
두 날짜의 차이 계산 (duration method 사용)
duration() 메소드는 Moment.js에서 두 날짜 사이의 차이를 계산하는 또 다른 방법입니다. 이 메서드는 두 mement 사이의 시간을 나타내는 기간 개체를 반환합니다. 기간 객체는 초, 분, 시간, 일 등과 같이 서로 다른 단위로 두 날짜 간의 차이를 얻을 수 있는 다양한 방법을 제공합니다.
const date1 = moment("2022-01-01"); const date2 = moment("2022-12-31"); const duration = moment.duration(date2.diff(date1)); console.log(duration.asDays()); // 364
moment.duration() 메서드를 사용하여 두 날짜 간의 차이를 나타내는 기간 개체를 만듭니다. 그런 다음 기간에 asDays() 메서드를 사용합니다.