모멘트.js의 주요 사용법 및 API

  1. 현在년도

moment().format("YYYY") // 문자열 "2020"

moment().year() / moment().get('year') // 숫자 2020

  1. 현在월

moment().format('MM') // September인 경우, 문자열 "09"

moment().month() / moment().get('month') // September인 경우, 숫자 8

  1. 현在요일

moment().format('dddd') // Sunday인 경우, 문자열 "Sunday"

moment().locale('ko').format('dddd') // Sunday인 경우, 한국어로 "일요일"

moment().day() / moment().get('day') // Sunday인 경우, 숫자 0

moment().get('isoWeekday') // Sunday인 경우, 숫자 7

  1. 현在일자

moment().date() / moment().get('date') // 오늘날이 27일인 경우, 숫자 27

  1. 현在년월일

moment().format('YYYY-MM-DD') // 문자열 "2020-09-27"

moment().format('YYYY/MM/DD') // 문자열 "2020/09/27"

  1. 현在시분초

moment().format('HH:mm:ss') // 24시간제로, 문자열 "17:19:55"

moment().format('hh:mm:ss') // 12시간제로, 문자열 "05:19:55"

  1. 현在월의 총일수

moment().daysInMonth() // September는 30일, 숫자 30

  1. 현在타임스탬프

moment().format('X') // 문자열, 초 기반 타임스탬프 "1601201995"

moment().unix() // 숫자, 초 기반 타임스탬프 1601201995

moment().format('x') // 문자열, 밀리초 기반 타임스탬프 "1601201995364"

moment().valueOf() // 숫자, 밀리초 기반 타임스탬프 1601201995364

  1. 현在년월일시분초

moment().toArray() // 배열 [2020, 8, 27, 17, 40, 19, 364]

moment().toObject() // 객체 { date: 27, hours: 17, milliseconds: 364, minutes: 40, months: 8, seconds: 19, years: 2020 }

  1. 시간 설정

  1. 연도 설정 (월, 일, 요일, 시간, 분, 초와 같이 동일하게 설정할 수 있습니다)

moment().year(2019) // 2019년으로 설정된 Moment 객체 반환

moment().set('year', 2019)

moment().set({year: 2019})

moment().add(1, 'years') / moment().add({years: 1}) // 2020년에서 2021년으로 설정

moment().subtract(1, 'years') / moment().subtract({years: 1}) // 2020년에서 2019년으로 설정

  1. JavaScript 원시 Date 객체로 변환

moment().toDate()

new Date(moment())

  1. 비교

moment().diff(Moment | String | Number | Date | Array)

  1. 특정일의 시작 및 종료 시간 타임스탬프 계산

  1. 특정일의 시작 시간获取
// time는 특정일의 타임스탬프입니다
startTime(time) {
    const timeDate = new Date(time);
    return timeDate.setHours(0, 0, 0, 0);
}
  1. 특정일의 종료 시간获取
endTime(time) {
    const timeDate = new Date(time);
    return timeDate.setHours(23, 59, 59, 999);
}
  1. 시간 형식 변환 유틸리티 함수
export const formatTime = (timestamp, fmt) => {
    if (timestamp === null) {
        return null;
    }
    if (typeof timestamp === 'string' && !/^\d+$/.test(timestamp)) {
        let lastDotIndex = timestamp.lastIndexOf('.');
        if (lastDotIndex > 0) {
            // 밀리초 제거, 없으면 Date 객체로 변환시 오류 발생
            timestamp = timestamp.substring(0, lastDotIndex);
        }
        timestamp = timestamp.replace(/-/g, '/');
    }
    let date = new Date(timestamp);
    let o = {
        'M+': date.getMonth() + 1, // 월
        'd+': date.getDate(), // 일
        'h+': date.getHours(), // 시간
        'm+': date.getMinutes(), // 분
        's+': date.getSeconds(), // 초
        'q+': Math.floor((date.getMonth() + 3) / 3), // 분기
        'S': date.getMilliseconds() // 밀리초
    };
    let result = fmt;
    if (/(y+)/.test(result)) {
        result = result.replace(RegExp.$1, (date.getFullYear().toString()).substr(4 - RegExp.$1.length));
    }
    for (let k in o) {
        if (new RegExp(`(${k})`).test(result)) {
            result = result.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : `00${o[k]}`.substr(o[k].toString().length));
        }
    }
    return result;
}<br></br>// formatTime(new Date().setHours(0, 0, 0, 0), 'yyyy-MM-dd hh:mm') → 오늘 오전 0시 0분

// formatTime(new Date().setHours(23, 59, 59, 999), 'yyyy-MM-dd hh:mm') → 오늘 오후 11시 59분

태그: JavaScript Moment.js 날짜-시간

6월 10일 23:23에 게시됨