빠른 참조

Moment.js 치트시트

Moment.js에 대한 종합 참조 가이드: 날짜 파싱, 포맷팅 토큰, 날짜 연산 및 조작, 로컬라이징 프리셋 및 최신 대체 라이브러리.

· 게시일

Moment.js는 날짜의 파싱, 유효성 검사, 조작 및 서식 지정을 위해 오랫동안 널리 사용되어 온 대표적인 JavaScript 라이브러리입니다.

날짜 파싱 및 생성

// 현재 시간 인스턴스 생성
const now = moment();

// 명시적 형식 문자열을 지정하여 파싱
const m = moment('2026-10-25', 'YYYY-MM-DD');

// Unix 타임스탬프 파싱 (초 단위 vs 밀리초 단위)
moment.unix(1730000000); // 초 단위 기준
moment(1730000000000);   // 밀리초 단위 기준

// 유효성 검사
m.isValid(); // -> true

포맷팅 토큰

m.format();                  // "2026-10-25T00:00:00+08:00" (// ISO 8601 표준 포맷)
m.format('dddd');            // "Sunday"
m.format('MMM Do YY');       // "Oct 25th 26"
m.fromNow();                 // "// 상대 시간 표기 (예: 3 hours ago)"
m.calendar();                // "// 달력 표기 형식"

날짜 토큰 표

토큰 출력 범위 및 예시 설명
YYYY 2026 4-digit year
YY 26 2-digit year
MM 01..12 2-digit month
MMM Jan..Dec Short month name
MMMM January..December Full month name
DD 01..31 2-digit day of month
Do 1st..31st Day of month with ordinal
d 0..6 Day of week (0 is Sunday)
ddd Sun..Sat Short day of week
dddd Sunday..Saturday Full day of week
Q 1..4 Quarter of the year

시간 토큰 표

토큰 출력 범위 및 예시 설명
HH 00..23 24-hour hour (2-digit)
H 0..23 24-hour hour (1-digit)
hh 01..12 12-hour hour (2-digit)
mm 00..59 Minute (2-digit)
ss 00..59 Second (2-digit)
SSS 000..999 Milliseconds (3-digit)
A AM / PM Uppercase meridiem
a am / pm Lowercase meridiem
Z +08:00 Difference from UTC

날짜 조작 및 연산

Moment 객체는 **가변(mutable)**입니다. 연산 작업은 인스턴스 자체를 직접 수정합니다:

// 덧셈 및 뺄셈 연산
moment().add(7, 'days');
moment().subtract(1, 'month');

// 특정 단위의 경계 시점으로 설정
moment().startOf('day');  // 오늘 00:00:00.000
moment().endOf('month');  // 해당 월 마지막 날 23:59:59.999

// 의도치 않은 변경을 방지하기 위한 복제
const original = moment();
const nextWeek = original.clone().add(7, 'days');

지역화 서식 프리셋

형식 출력 예시
LT 8:30 PM
LTS 8:30:25 PM
L 10/25/2026
LL October 25, 2026
LLL October 25, 2026 8:30 PM
LLLL Sunday, October 25, 2026 8:30 PM

추천 최신 대체 라이브러리

Moment.js는 현재 유지 관리 모드입니다. 신규 프로젝트에서는 다음 최신 도구를 권장합니다:

  • date-fns: 불변성을 유지하며 Tree-shaking을 지원하는 모듈형 유틸리티.
  • Day.js: Moment와 거의 동일한 API를 제공하는 2KB 경량 라이브러리.
  • Luxon: Moment 개발진이 표준 Intl API를 기반으로 개발한 최신 라이브러리.
  • Native Intl.DateTimeFormat: 외부 의존성 없이 최신 브라우저와 Node.js에 기본 내장된 API.

관련 참고 자료

관련 주제