티스토리 뷰

🤷‍♀️ 에러와 마주하다..

    - 호스팅 해둔 GOC 사이트의 국내 종합 데이터 현황에 Error가 발생 하였다.

해당 데이터는 시도별 현황과 같은 OPEN API를 사용 하기 때문에 API서버의 문제라면 양쪽에 에러가 떠야하지만

국내 종합 데이터 현황에만 문제가 있었다.

시도별 현황은 문제가 없었지만 국내 종합 현황에서만 에러를 띄우고 있었다.

    - 그래도 혹시나 하는 마음에 먼저 postman에서 확인을 하였다.

아주 당연하게도 API는 정상이였다.

    - 문제를 찾기 위해 디버깅을 시작하였고 범인은 바로 server쪽의 Route파일이 문제였다.

문제는 날짜를 구하는 코드였다.

    - 해당 API는 당일부터 7일전 즉, 총 8일간의 데이터를 받아오고있었다.

얼핏 보기엔 문제 없이 잘 구하는듯 하였다. 하지만 문제는 4월 1일이 된 현재, 3월에서 4월로 달이 변경되면서 생겼다.

today는 정상적으로 오늘의 날짜를 만들고있다.

    - 당일의 날짜를 구하는데에는 정상적이였지만 문제는 7일전의 날짜를 구하는 방법이였다.

원하는 20210325가아닌 202013094를 만들고있다.

    - 사실 생각 해보면 당연한 일이다. 단순 계산만으로 -7을 하고있었으니 잘 나올리가 없다.

때문에 부분을 해결하고자 고민을하다 moment라이브러리를 사용하기로 하였다


📝 API 데이터 사용을 위한 날짜

    - moment.js라이브러리는 GOC내부에서도 사용하고있었다.

하지만 Route쪽에서는 코드에 이상이 없다는 이유로 수정을 하지않고 이전의 코드를 계속 사용하고있었다.

때문에 Route에도 moment라이브러리를 사용해주기로 하였다.

Moment.js 설치 & 사용방법

 

Moment.js | Home

Format Dates moment().format('MMMM Do YYYY, h:mm:ss a'); moment().format('dddd'); moment().format("MMM Do YY"); moment().format('YYYY [escaped] YYYY'); moment().format(); Relative Time moment("20111031", "YYYYMMDD").fromNow(); moment("20120620", "YYYYMMDD"

momentjs.com

더보기

Moment.js 업데이트 중단

    - Moment.js는 업데이트 중단 상태입니다. 때문에 대안으로 다른 라이브러리를 사용 권장하는 바 입니다.

관련글

🎉 문제 해결

    - 사용법은 간단하기 때문에 따로 정리는 하지않고 바로 적용한 모습이다.

사용법은 간단하기에 공식문서에서 확인 후 바로 사용이 가능하다.

    - 간단한 설명을 하자면 moment().subtract(7, "day")은 현재 날짜로부터 7일전의 날짜를 구해준다.

이후 moment(moment().subtract(7, "day")).format("YYYYMMDD")으로 바꿔주면 7일전의 날짜를 내가 원하는

20210325의 형식으로 변환하여준다.

정상적으로 데이터가 로드되었다.

해당사이트 방문하기

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함