Moment.JS 는 날짜(Date)형식의 데이터의 파싱, 검증, 조작 그리고 화면에 출력하는 작업을 위해 만들어진 아주 유용한 라이브러리
현재시간
현재시간을 얻기 위해서는 매개변수 없이 아래와 같이 호출하면 된다.
var now = moment();
문자열(String)을 통한 시간정보 생성문자열(ex. "1989-03-15")을 통해서 시간을 생성하고자 할때는 아래와 같이 호출하면 된다.
var time = moment("2017-01-01");위와 같이 " YYYY-MM-DD "형태의 string 외에도 " YYYY-MM-DD HH:MM:SS "등과 같은 형태의 시간문자열이 있을수 있다. 가능한 문자열 형태는 이 링크에서 확인하기를 바란다. 만약불가능한 형태의 시간 string이라면 아래 method를 사용하여 true , false 값으로 확인할수 있다.
var time = momnet("시간문자열").isValid(); //return true or false정형화된 시간정보(Format Dates)아래코드와 같이 자신이 원하는 형태의 시간정보를 생성할수 있다.
moment().format('MMMM Do YYYY, h:mm:ss a'); // February 8th 2017, 6:30:39 pm
moment().format('dddd'); // Wednesday
moment().format("MMM Do YY"); // Feb 8th 17
moment().format('YYYY [escaped] YYYY'); // 2017 escaped 2017
moment().format(); // 2017-02-08T18:30:39+09:00상대적인 시간(Relative Time)특정시간정보가 지금으로부터 어느정도의 시간거리를 가지고 있는지 알수 있다.
moment("20111031", "YYYYMMDD").fromNow(); // 5 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 5 years ago
moment().startOf('day').fromNow(); // 19 hours ago
moment().endOf('day').fromNow(); // in 5 hours
moment().startOf('hour').fromNow(); // 34 minutes ago달력관련 날짜 및 시간정보moment().subtract(10, 'days').calendar(); // 01/29/2017
moment().subtract(6, 'days').calendar(); // Last Thursday at 6:36 PM
moment().subtract(3, 'days').calendar(); // Last Sunday at 6:36 PM
moment().subtract(1, 'days').calendar(); // Yesterday at 6:36 PM
moment().calendar(); // Today at 6:36 PM
moment().add(1, 'days').calendar(); // Tomorrow at 6:36 PM
moment().add(3, 'days').calendar(); // Saturday at 6:36 PM
moment().add(10, 'days').calendar(); // 02/18/2017배열(Array)를 이용한 시간정보 생성배열을 통해서 시간정보를 생성할수도 있다.
배열은 입력된 배열의 길이 만큼 앞에서부터 길이만큼 아래 배열에서 끊어서 의미를 확인하면된다.
[year, month, day, hour, minute, second, millisecond]
예제코드
moment([2010, 1, 14, 15, 25, 50, 125]); // February 14th, 3:25:50.125 PM
moment([2010]); // January 1st
moment([2010, 6]); // July 1st
moment([2010, 6, 10]); // July 10th시간차이 계산월차이를 구하는 코드 예제를 보자. 간편하다
moment('2016-06','YYYY-MM').diff('2015-01','month'); //17