moment 주차 표현 방법

Hanji·2021년 8월 26일
0
post-thumbnail

antdesign의 RangePicker 사용 시 format을 YYYY-wo로 설정 시 년도가 맞지않는 이슈 발생.

ex) 날짜를 2019.12.30로 선택할 경우 2020년 1주로 표현되길 원하나, 2019년 1주로 보임.

-> antd의 WeeklyPicker 확인 시 년도 정상적으로 보임. 라이브러리 확인 결과 gggg-wo로 처리하고 있음.

ant design WeekPicker component

#. gggg와 yyyy의 차이는?

gggg는 week year로 yyyy wo 형식으로 사용 시 주차랑 상관 없이 해당 날짜의 년도를 그대로 가져옴. 그래서 2019.12.30 선택시

  • yyyy-wo : 2019-1주차
  • gggg-wo : 2020-1주차

로 표현됨.

moment string-format


서버에서 처리하는 주차 계산방식과 moment에서 처리되는 주차 계산방식이 다른 현상 발생

ex) 2020.12.30일에 대해

  • 서버 : 2020년 53주차
  • moment : 2021년 1주차

년도 변경 시 주차 계산방식이 다르므로, moment.updateLocale 을 사용하여 주차 계산 방식 변경

  • 서버의 주차 계산 방식

    주의 시작 요일은 일요일, YYYY년 1주차는 1월 3일을 포함해야됨

  • moment week 설정 변경

moment.updateLocale('ko', {
	week:{
    	dow : 0, // 한 주의 시작 요일은 일요일(0)
        doy: 4 //  연도의 첫 주는 1월 3일을 포함해야 될 경우. (계산 식: 7+dow-3)
    }
})

https://momentjs.com/docs/#/customization/dow-doy/

0개의 댓글