우리팀에 만든 API Docs에 따르면
일주일치 일정을 요청할 때에는 startdate를 보내야 한다.
포맷은 YYYYMMDD
오늘 날짜에 맞춰서 그 주의 월요일 날짜를 알아내서
위의 포맷에 맞춰서 string을 보내야 했는데,
React Native는 MM이 아닌 M으로만 반환이 되어서
내가 원하는 대로 포맷팅하기 위해서는 라이브러리를 설치해야 했다.
(방법 찾았음)
그 전에 일단,
리액트 네이티브 자체에서 날짜를 구하기 위해서는
아래 코드를 입력하면 된다.
(나는 날짜를 매일 다르게 받아 오므로 let으로 선언함)
let date = new Date()
그러면 date에는 아래 값이 담긴다.
2022-08-08T06:05:30.461Z
나는 여기서 20220808을 만들고 싶어서
let startDate = String(today.getFullYear()) +
String(today.getMonth()) +
String(today.getDate());
이렇게 코드를 짰는데 돌아오는 건
202288
.....ㅠ
그래서 포맷팅 방법을 검색했고,
얻은 결과는 리액트 네이티브 자체 메서드가 아닌
라이브러리... 두둔
npm 사이트에서 비교해보니
moment가 더 오래됐고, 다운로드 수도 많고, 깃허브 별도 더 많았다.
date-fns는 200여개의 함수가 지원되고, 조금 더 최근에 나온 데다
약 2주 전에 업데이트가 있었다.
사실 공식 문서는 date-fns가 더 친절했고 이해하기 좋았는데
moment가 용량이 조금 더 작아서 그냥 moment를 선택하기로 했다
사실 date-fns처럼 많은 기능이 필요 없었고
나는 그냥 20220808만 나오면 됐거든... ㅋㅋ


사용법 관련 공식 문서 링크 알려드리겠습니다 :)
(원래 내가 직접 해보고 쓰려고 했는데 라이브러리 없이 해결해버림..)
moment
Moment.js | Docs
moment.relativeTimeThreshold(unit); // getter moment.relativeTimeThreshold(unit, limit); // setter duration.humanize has thresholds which define when a unit is considered a minute, an hour and so on. For example, by default more than 45 seconds is consider
momentjs.com
date-fns
Modern JavaScript Date Utility Library
date-fns provides the most comprehensive yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js.
date-fns.org
'TIL > React Native' 카테고리의 다른 글
| [React Native] 서버 켜는 방법 (java spring boot) (0) | 2022.08.09 |
|---|---|
| [React Native] 라이브러리 없이 자바스크립트로 날짜 포맷팅하기! (0) | 2022.08.08 |
| [React Native] 서버에 요청해서 JSON 받아 오는 방법 (fetch vs. axios) (0) | 2022.08.08 |
| [React Native] 버튼을 눌렀을 때 특정 값을 함수로 보내는 방법 (0) | 2022.08.05 |
| [React Native] react-native link 와 rnpm link의 차이 (0) | 2022.08.01 |