moment.js 두 날짜 차이 계산

양주영·2022년 10월 20일
0

javascript

목록 보기
39/42

상황
펫 정보를 보여주는 페이지에서 강아지 생일을 단지 몇 살이 아니라 ~년 ~개월로 표기해야 해야 했다.
윤년, 윤달 계산이 복잡해서 빠르게 구현 가능하기 위해 라이브러리를 선택했고,
moment.js를 활용해 날짜 차이를 계산하기로 했다.


해결
moment.js는 javascript에서 날짜 및 시간을 조작하고 작업하는데 도움이 되는 라이브러리이다. 하지만, 현재는 용량 문제와 너무 오래되어 신규 기능 추가가 어려워 개발이 중단되었다고 한다.
moment.js 이외에도 Luxon.js, Day.js, date-fns.js 등 여러 가지가 존재한다.


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

diff() 함수를 사용하여 두 날짜의 차이를 구할 수 있다.

getMonthDiff(date1, date2) {
      const petBirth = moment(date1)
      const nowDate = moment(date2)

      const monthDiff = nowDate.diff(petBirth, 'months')
      const yearDiff = parseInt(String(monthDiff / 12))
      const diff = monthDiff - 12 * yearDiff
      return monthDiff > 12 ? `${yearDiff}${diff}개월` : `${diff}개월`
    },
<div class="input">
{{ pet.birthDay }}
  <br />
    <span>(
  {{ getMonthDiff(pet.birthDay, new Date()) }}
  )</span>
</div>

참고 : https://developer-talk.tistory.com/285

profile
뚜벅뚜벅

0개의 댓글