pancakemaker 2022. 6. 29. 09:55

1. moment.js

: JS 날짜 관련 라이브러리 중 가장 많이 사용되는 라이브러리

 

2. moment.js 사용 방법

① 현재 날짜 및 시간 객체 생성 - moment()

var now = moment();
now.format();	//2021-10-19T00:01:13+09:00

 

② 포맷 지정 - format()

var now = moment();
now.format();	// 2021-10-09T00:09:45+09:00
now.format("YY-MM-DD");	// 21-10-09
now.format("DD/MM/YY");	// 09/10/21
now.format("YYYY.MM.DD HH:mm:ss");	// 2021.10.09 00:09:45

 

③ 날짜 객체에서 지정 시간 단위의 시작, 마지막으로 설정 - startOf() / endOf()

ex) year 기준이면, 그 년도의 시작(마지막) 날, 시작(마지막) 시간 / day 기준이면, 그 날의 시작(마지막) 시간, ...

moment("2021-10-09 10:30:25").format(); // 2021-10-09T10:30:25+09:00

moment("2021-10-09 10:30:25").startOf("day").format(); // 2021-10-09T00:00:00+09:00
moment("2021-10-09 10:30:25").endOf("day").format(); // 2021-10-09T23:59:59+09:00

moment("2021-10-09 10:30:25").startOf("year").format(); // 2021-01-01T00:00:00+09:00
moment("2021-10-09 10:30:25").endOf("year").format(); // 2021-12-31T23:59:59+09:00

moment("2021-10-09 10:30:25").startOf("hour").format(); // 2021-10-09T10:00:00+09:00
moment("2021-10-09 10:30:25").endOf("hour").format(); // 2021-10-09T10:59:59+09:00

moment("2021-10-09 10:30:25").startOf("minute").format(); // 2021-10-09T10:30:00+09:00
moment("2021-10-09 10:30:25").endOf("minute").format(); // 2021-10-09T10:30:59+09:00

 

④ 날짜 및 시간 더하기 - add()

: 두번째 변수(년, 월, 일, ...)를 기준으로 첫번째 변수 만큼 더함

moment().format(); // 2021-10-09T00:32:12+09:00

moment().add(1, "years").format(); // 2022-10-09T00:32:12+09:00
moment().add(1, "y").format(); // 2022-10-09T00:32:12+09:00

moment().add(1, "months").format();  // 2021-11-09T00:32:12+09:00
moment().add(1, "M").format(); // 2021-11-09T00:32:12+09:00

moment().add(1, "weeks").format(); // 2021-10-16T00:32:12+09:00
moment().add(1, "w").format(); // 2021-10-16T00:32:12+09:00

moment().add(1, "days").format();  // 2021-10-10T00:32:12+09:00
moment().add(1, "d").format(); // 2021-10-10T00:32:12+09:00

moment().add(1, "hours").format(); // 2021-10-09T01:32:12+09:00
moment().add(1, "h").format(); // 2021-10-09T01:32:12+09:00

moment().add(1, "minutes").format(); // 2021-10-09T00:33:12+09:00
moment().add(1, "m").format(); // 2021-10-09T00:33:12+09:00

moment().add(1, "seconds").format(); // 2021-10-09T00:32:13+09:00
moment().add(1, "s").format(); // 2021-10-09T00:32:13+09:00

moment().add(1000, "milliseconds").format(); // 2021-10-09T00:32:13+09:00
moment().add(1000, "ms").format(); // 2021-10-09T00:32:13+09:00

 

⑤ 날짜 및 시간 빼기 - subtract()

: 두번째 변수(년, 월, 일, ...)를 기준으로 첫번째 변수 만큼 뺌

moment().format(); // 2021-10-09T00:37:29+09:00

moment().subtract(1, "years").format(); // 2020-10-09T00:37:29+09:00
moment().subtract(1, "y").format(); // 2020-10-09T00:37:29+09:00

moment().subtract(1, "months").format(); // 2021-09-09T00:37:29+09:00
moment().subtract(1, "M").format(); // 2021-09-09T00:37:29+09:00

moment().subtract(1, "weeks").format(); // 2021-10-02T00:37:29+09:00
moment().subtract(1, "w").format(); // 2021-10-02T00:37:29+09:00

moment().subtract(1, "days").format(); // 2021-10-08T00:37:29+09:00
moment().subtract(1, "d").format(); // 2021-10-08T00:37:29+09:00

moment().subtract(1, "hours").format(); // 2021-10-08T23:37:29+09:00
moment().subtract(1, "h").format(); // 2021-10-08T23:37:29+09:00

moment().subtract(1, "minutes").format(); // 2021-10-09T00:36:29+09:00
moment().subtract(1, "m").format(); // 2021-10-09T00:36:29+09:00

moment().subtract(1, "seconds").format(); // 2021-10-09T00:37:28+09:00
moment().subtract(1, "s").format(); // 2021-10-09T00:37:28+09:00

moment().subtract(1000, "milliseconds").format(); // 2021-10-09T00:37:28+09:00
moment().subtract(1000, "ms").format(); // 2021-10-09T00:37:28+09:00

 

⑥ 날짜 및 시간 차이 구하기 - diff()

var date1 = moment();
var date2 = moment("2020-04-08");

date1.format(); // 2021-10-09T00:44:52+09:00
date2.format(); // 2020-04-08T00:00:00+09:00

date1.diff(date2); // 47436292714
date1.diff(date2, "years"); // 1
date1.diff(date2, "months"); // 18
date1.diff(date2, "weeks"); // 78
date1.diff(date2, "days"); // 549
date1.diff(date2, "hours"); // 13176
date1.diff(date2, "minutes"); // 790604
date1.diff(date2, "seconds"); // 47436292
date1.diff(date2, "milliseconds"); // 47436292714

 

출처: https://momentjs.com/