✏️ Moment.js에서 가장 많이 쓰이는 메서드 정리

ZYE KIM·2025년 3월 7일
0

study

목록 보기
4/6
post-thumbnail

📢 Moment.js는 JavaScript에서 날짜와 시간을 쉽게 다룰 수 있도록 도와주는 라이브러리입니다.
가장 많이 사용되는 주요 메서드 5개를 소개하고, 각각의 정의와 예제를 정리해보겠습니다.


1. diff()

정의

두 날짜 간의 차이를 계산하는 메서드로, 연도, 월, 일, 시간 등의 단위로 차이를 구할 수 있습니다.

옵션

  • diff(moment|String|Number|Date|Array, String, Boolean) : 비교할 날짜와 단위를 설정하고, Boolean 값(true)을 추가하면 소수점까지 반환할 수 있습니다.

예제

const moment = require('moment');

const date1 = moment('2025-03-07'); // 종료날짜
const date2 = moment('2025-02-25'); // 시작날짜

console.log(date1.diff(date2, 'days')); // 10 (일 단위 차이)
console.log(date1.diff(date2, 'weeks')); // 1 (주 단위 차이)
console.log(date1.diff(date2, 'months', true)); // 0.322 (소수점 포함)

2. add() / subtract()

정의

  • add(): 특정 단위의 시간을 더할 때 사용합니다.
  • subtract(): 특정 단위의 시간을 뺄 때 사용합니다.
  • add()subtract()는 음수를 사용할 수도 있으며, add(-n, '단위')subtract(n, '단위')와 동일한 효과를 가집니다.

옵션

  • add(Number, String) : 숫자와 단위를 입력하여 시간을 더합니다.
  • subtract(Number, String) : 숫자와 단위를 입력하여 시간을 뺍니다.

예제

const date = moment('2025-03-07');

console.log(date.add(5, 'days').format('YYYY-MM-DD')); // 2025-03-12
console.log(date.subtract(2, 'months').format('YYYY-MM-DD')); // 2025-01-07
console.log(date.add(-3, 'days').format('YYYY-MM-DD')); // 2025-03-04 (subtract(3, 'days')와 동일)

3. format()

정의

날짜를 특정 형식의 문자열로 변환하는 메서드입니다.

옵션

  • format(String) : 원하는 포맷의 문자열을 입력하여 날짜를 변환합니다.
  • 기본값: YYYY-MM-DDTHH:mm:ssZ

예제

const date = moment();

console.log(date.format('YYYY-MM-DD HH:mm:ss')); // 2025-03-07 15:30:00
console.log(date.format('MMMM Do YYYY, h:mm:ss a')); // March 7th 2025, 3:30:00 pm

4. isBefore() / isAfter()

정의

  • isBefore(): 특정 날짜보다 이전인지 확인하는 메서드
  • isAfter(): 특정 날짜보다 이후인지 확인하는 메서드

옵션

  • isBefore(moment|String|Number|Date|Array, String): 비교할 날짜와 단위를 설정합니다.
  • isAfter(moment|String|Number|Date|Array, String): 비교할 날짜와 단위를 설정합니다.

예제

const date1 = moment('2025-03-07');
const date2 = moment('2025-02-25');

console.log(date1.isAfter(date2)); // true
console.log(date2.isBefore(date1)); // true

5. startOf() / endOf()

정의

  • startOf(): 특정 단위의 시작 시점을 반환하는 메서드
  • endOf(): 특정 단위의 마지막 시점을 반환하는 메서드

옵션

  • startOf(String) : 설정한 단위의 시작 시간을 반환합니다.
  • endOf(String) : 설정한 단위의 마지막 시간을 반환합니다.

예제

const date = moment('2025-03-07');

console.log(date.startOf('month').format('YYYY-MM-DD HH:mm:ss')); // 2025-03-01 00:00:00
console.log(date.endOf('month').format('YYYY-MM-DD HH:mm:ss')); // 2025-03-31 23:59:59

결론

Moment.js는 날짜를 다루는 다양한 기능을 제공하며, 특히 diff(), add()/subtract(), format(), isBefore()/isAfter(), startOf()/endOf() 등의 메서드는 자주 사용됩니다. 프로젝트에서 날짜 계산이 필요할 때 유용하게 활용해 보세요!

profile
주니어 프론트엔드개발자

0개의 댓글