XTools 로고
XTools
Blog
/
Day.js 플레이그라운드·포맷 참고표Moment.js 플레이그라운드·Day.js 전환날짜 계산기·유닉스 타임스탬프시간대 변환

© 2026 XTools. 모든 권리 보유.

개인정보 처리방침문의하기

    Moment.js 플레이그라운드·Day.js 전환

    Moment.js 포맷을 바로 시험하고 같은 동작의 Day.js 코드를 나란히 봅니다
    • 파일이 기기 밖으로 나가지 않습니다
    • 브라우저에서 실행
    • 무료, 가입 불필요, 워터마크 없음

    Moment.js는 유지보수 모드이며, 개발팀도 새 프로젝트에는 최신 라이브러리를 권장합니다. Day.js는 거의 같은 API를 약 2KB로 제공하므로, 각 섹션에 Day.js 대응 코드도 함께 보여 줍니다.

    Moment 프로젝트 상태Day.js 플레이그라운드 열기

    Moment.js 불러오는 중…

    포맷 플레이그라운드

    출력
     

    포맷 토큰

    토큰을 클릭하면 포맷 문자열에 삽입됩니다. 예시는 기준 날짜와 로캘로 표시됩니다.

    토큰예시의미
    연도와 분기
    네 자리 연도
    두 자리 연도
    분기(1–4)
    분기(서수)
    월
    월(1–12)
    월(서수)
    월(두 자리)
    월 약칭
    월 이름
    일(월 기준 / 연 기준)
    일
    일(서수)
    일(두 자리)
    연중 일수
    연중 일수(세 자리)
    요일
    요일 번호(0 = 일요일)
    요일(가장 짧게)
    요일(약칭)
    요일(전체)
    요일 번호(로캘 기준)
    ISO 요일 번호(1 = 월요일)
    주
    연중 주차(로캘 기준)
    주차(서수)
    주차(두 자리)
    ISO 주차
    ISO 주차(두 자리)
    주 기준 연도(로캘 기준)
    ISO 주 기준 연도
    시
    시, 0–23
    시, 00–23
    시, 1–12
    시, 01–12
    시, 1–24
    시, 01–24
    분과 초
    분
    분(두 자리)
    초
    초(두 자리)
    10분의 1초
    100분의 1초
    밀리초
    오전 / 오후
    AM / PM(오전 / 오후)
    am / pm(소문자)
    시간대
    UTC 오프셋, ±HH:mm
    UTC 오프셋, ±HHmm
    moment-timezone 필요시간대 약칭
    moment-timezone 필요시간대 이름
    Unix 시간
    Unix 초
    Unix 밀리초
    로캘 포맷
    로캘 시간
    로캘 시간(초 포함)
    로캘 숫자 날짜
    로캘 날짜(월 이름 포함)
    로캘 날짜와 시간
    로캘 날짜, 요일, 시간
    짧은 숫자 날짜
    짧은 날짜(월 이름 포함)
    짧은 날짜와 시간
    짧은 날짜, 요일, 시간
    이스케이프
    대괄호 안의 글자는 그대로 출력

    파싱 플레이그라운드

    비워 두면 ISO 8601로 파싱합니다.

    상대 시간

    각 행은 기준 날짜를 옮긴 뒤 from()과 calendar()로 기준과의 관계를 표현합니다.

    이동from(ref)calendar(ref)
    .add(-45, 'second')
    .add(-10, 'minute')
    .add(-3, 'hour')
    .add(-1, 'day')
    .add(-5, 'day')
    .add(-3, 'month')
    .add(-2, 'year')
    .add(30, 'minute')
    .add(2, 'day')
    .add(1, 'month')

    기간(Duration)

    자주 쓰는 코드

    일상적인 작업을 실시간 결과와 함께 보여 줍니다. ‘해 보기’를 누르면 아래 코드 실행기에 불러옵니다.

    Moment 객체는 변경 가능해서 add()가 원본을 바꿉니다. Day.js는 연산마다 새 객체를 돌려주므로 결과를 다시 할당해야 합니다.
    작업Moment.js
    현재 시간 포맷
    moment().format('YYYY-MM-DD HH:mm:ss')
    →
    일수 더하기
    moment('2023-01-01').add(1, 'days').format('YYYY-MM-DD')
    →
    지금으로부터 얼마나
    moment().subtract(7, 'days').fromNow()
    →
    이번 달 첫날
    moment().startOf('month').format('YYYY-MM-DD')
    →
    올해 마지막 날
    moment().endOf('year').format('YYYY-MM-DD')
    →
    이번 주 시작(로캘 기준)
    moment().startOf('week').format('YYYY-MM-DD ddd')
    →
    두 날짜 사이 일수
    moment().diff(moment('2022-01-01'), 'days')
    →
    이번 달 일수
    moment().daysInMonth()
    →
    분기
    moment().quarter()
    →
    달력식 시간
    moment().add(1, 'days').calendar()
    →
    두 날짜 사이인지
    moment('2024-12-31').isBetween('2024-01-01', '2025-01-01')
    →
    오늘인지
    moment().isSame(moment(), 'day')
    →
    윤년인지
    moment('2024-01-01').isLeapYear()
    →
    날짜를 엄격하게 검증
    moment('2023-02-30', 'YYYY-MM-DD', true).isValid()
    →
    사용자 지정 포맷 파싱
    moment('13/10/2026 14:30', 'DD/MM/YYYY HH:mm').format()
    →
    Unix 타임스탬프(초)
    moment().unix()
    →
    현재 UTC 시간
    moment.utc().format()
    →
    다른 시간대의 시간
    moment-timezone 필요
    기간을 자연어로
    moment.duration(90, 'minutes').humanize()
    →
    월말에 한 달 더하기
    moment('2026-01-31').add(1, 'months').format('YYYY-MM-DD')
    →
    재할당 없이 add() 호출
    (() => { const d = moment('2026-01-01'); d.add(1, 'days'); return d.format('YYYY-MM-DD') })()
    →

    코드 실행기

    moment를 사용하는 식을 입력하면 브라우저에서 바로 실행합니다. 위 코드에 쓰인 플러그인이 모두 켜져 있고, 위에서 고른 로캘이 적용됩니다.

    결과

    플레이그라운드 설정

    관련 도구

    • Day.js 플레이그라운드·포맷 참고표
    • 날짜 계산기·유닉스 타임스탬프
    • 시간대 변환

    Moment.js 플레이그라운드·Day.js 전환 사용 방법

    Moment.js의 포맷, 파싱, 상대 시간, 기간을 시험해 보는 플레이그라운드로, Moment 결과 옆에 Day.js 결과를 함께 보여 줍니다. 서로 다른 부분이 표시되므로 코드를 옮기기 전에 무엇이 바뀌는지 확인할 수 있습니다. 두 라이브러리 모두 브라우저에서 실행됩니다.

    1. 1

      ‘기준 날짜와 시간’과 ‘로캘’을 정하고, 코드에서 moment.utc()를 쓴다면 ‘UTC로 처리’를 켭니다.

    2. 2

      ‘포맷 문자열’에 형식을 입력하면 ‘출력’에 Moment와 Day.js 결과가 나오고 ‘같은 출력’ 또는 ‘다른 출력’으로 표시됩니다.

    3. 3

      ‘포맷 토큰’ 표에서 Day.js에 없거나 플러그인이 필요한 토큰을 확인하고, 토큰을 눌러 포맷에 넣습니다.

    4. 4

      ‘파싱 플레이그라운드’, ‘상대 시간’, ‘기간(Duration)’에서 두 라이브러리를 비교합니다. Day.js 결과가 다른 곳은 색으로 강조됩니다.

    5. 5

      ‘자주 쓰는 코드’에서 일상적인 작업의 두 가지 코드를 보고, ‘해 보기’로 Moment 버전을 ‘코드 실행기’에서 실행합니다.

    자주 묻는 질문

    Moment.js는 아직 유지보수되나요?

    Moment.js는 유지보수 모드이며, 개발팀도 새 프로젝트에는 최신 라이브러리를 권장합니다. 페이지 상단 안내에서 Moment 프로젝트 상태 문서와 Day.js 플레이그라운드로 이동할 수 있습니다.

    Day.js로 옮길 때 자주 문제가 되는 부분은 무엇인가요?

    가장 큰 것은 변경 가능성입니다. Moment의 add()는 원본 객체를 바꾸지만 Day.js는 새 객체를 돌려주므로 결과를 다시 할당해야 합니다. 또한 Day.js에서는 많은 기능에 플러그인이 필요하며, 코드마다 필요한 플러그인을 적어 두었습니다.

    Day.js에 대응하는 토큰이 없는 포맷 토큰은 무엇인가요?

    Qo, Mo, DDD, DDDD, e, E, S, SS입니다. ‘포맷 토큰’ 표에는 이들이 Day.js 미지원으로 표시되고, 나머지는 필요한 플러그인이 표시됩니다.

    Moment에서 z와 zzz가 동작하지 않는 이유는 무엇인가요?

    시간대 이름에는 별도의 moment-timezone이 필요한데 이 페이지에서는 불러오지 않으므로 표에 ‘moment-timezone 필요’로 표시됩니다. Day.js는 timezone 플러그인으로 지원합니다.

    어떤 버전을 비교하나요?

    Moment.js와 Day.js의 정확한 버전은 설정 패널 아래에 표시됩니다.

    코드가 서버로 전송되나요?

    아니요. 두 라이브러리와 로캘 파일 모두 이 페이지에 불러와지며, 입력한 내용은 브라우저에서 실행됩니다.