npm install --save moment
const moment = require('moment');
console.log(moment("2022-04-27") //Moment<2022-04-27T00:00:00+9:00>
const date = moment("2021-01-27");
// 년-월-일
console.log(date.format("YYYY-MM-DD")); // 2021-01-27
// 시:분:초
console.log(date.format("HH:mm:ss")); // 00:00:00
// 요일
console.log(date.format("dddd")); // Wednesday
// 년-월-일 요일
console.log(date.format("YYYY-MM-DD dddd")); // 2021-01-27
// 년-월-일 시:분:초
console.log(date.format("YYYY-MM-DD HH:mm:ss")); // 2021-01-27 00:00:00
// 년-월-일 요일 시:분:초
console.log(date.format("YYYY-MM-DD dddd HH:mm:ss")); // 2021-01-27 Wednesday 00:00:00
console.log(moment("2021-01-27").add(1, "days")); // 2021-01-28
console.log(moment("2021-01-27").add(2, "months")); // 2021-03-27
console.log(moment("2021-01-27").add(2, "years")); // 2023-01-27
console.log(moment("2021-01-27").subtract(1, "days")); // 2021-01-26
console.log(moment("2021-01-27").subtract(2, "months")); // 2020-11-27
console.log(moment("2021-01-27").subtract(2, "years")); // 2019-01-27
한 moment 변수를 기준으로 날짜를 연속적으로 더하거나 빼게 되면 해당 변수도 add or subtract 함수를 실행하는 도중 값이 변하게 된다.
const now = moment("2021-01-27");
console.log(now.add(3, "days")); // 2021-01-30
console.log(now.subtract(5, "days")); // 2021-01-25
console.log(now); // 2021-01-25
add or subtract를 하기 전에 clone() 함수를 사용하면 된다.
const fixedNow = moment("2021-01-27");
console.log(fixedNow.clone().add(3, "days")); // 2021-01-30
console.log(fixedNow.clone().subtract(5, "days")); // 2021-01-22
console.log(fixedNow); // 2021-01-27
console.log(moment("2020-12-31").isBefore("2021-01-01")); // true
console.log(moment("2020-12-31").isBefore("2020-12-30")); // false
console.log(moment("2020-12-31").isAfter("2021-01-01")); // false
console.log(moment("2020-12-31").isAfter("2020-12-30")); // true
console.log(moment("2020-12-31").isSame("2021-01-01")); // false
console.log(moment("2020-12-31").isSame("2020-12-31")); // true
console.log(moment("2020-12-31").isSameOrBefore("2021-01-01")); // true
console.log(moment("2020-12-31").isSameOrBefore("2020-12-31")); // true
console.log(moment("2020-12-31").isSameOrBefore("2020-12-30")); // false
console.log(moment("2020-12-31").isSameOrAfter("2021-01-01")); // false
console.log(moment("2020-12-31").isSameOrAfter("2020-12-31")); // true
console.log(moment("2020-12-31").isSameOrAfter("2020-12-30")); // true
sBetween의 첫 번째 파라미터는 항상 두 번쨰 파라미터보다 이전인 날짜여야 한다. 그렇지 않으면 결과가 제대로 출력되지 않는다
console.log(moment("2020-12-31").isBetween("2020-12-01", "2021-01-01")); // true
console.log(moment("2020-12-31").isBetween("2021-01-01", "2021-01-02")); // false
// isBetween의 첫 번째 파라미터는 항상 두 번쨰 파라미터보다 이전인 날짜여야 한다.
// 그렇지 않으면 항상 false
console.log(moment("2020-12-31").isBetween("2021-01-01", "2020-12-01")); // false
moment()의 날짜를 기준으로 diff의 첫 번쨰 파라미터 날짜와의 차이를 두 번째 파라미터를 기준으로 계산하여 출력한다.
console.log(moment("2020-12-31").diff("2020-12-30", "days")); // 1
console.log(moment("2020-12-30").diff("2020-12-31", "days")); // -1
console.log(moment("2020-12-31").diff("2020-12-30", "minute")); // 1440
console.log(moment("2020-12-30").diff("2020-12-31", "minute")); // -1440