fromzero
쪼렙 성장기
fromzero
전체 방문자
오늘
어제
  • Home
    • TIL
      • Python
      • HTML&CSS
      • Django
      • React
      • React Native
      • Git & Jira
      • Tech News
    • Algorithm
      • SW Expert Amademy
      • Baekjoon Online Judge
    • SSAFY
    • Daily log

인기 글

최근 댓글

최근 글

글쓰기 | 설정
hELLO · Designed By 정상우.
fromzero

쪼렙 성장기

[React Native] 날짜 관련 라이브러리 moment vs. date-fns
TIL/React Native

[React Native] 날짜 관련 라이브러리 moment vs. date-fns

2022. 8. 8. 15:56

 

우리팀에 만든 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 / 누르면 npm 페이지로 이동
date-fns / 누르면 npm 페이지로 이동

 

 

 


 

 

사용법 관련 공식 문서 링크 알려드리겠습니다 :)
(원래 내가 직접 해보고 쓰려고 했는데 라이브러리 없이 해결해버림..)

 

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
    'TIL/React Native' 카테고리의 다른 글
    • [React Native] 서버 켜는 방법 (java spring boot)
    • [React Native] 라이브러리 없이 자바스크립트로 날짜 포맷팅하기!
    • [React Native] 서버에 요청해서 JSON 받아 오는 방법 (fetch vs. axios)
    • [React Native] 버튼을 눌렀을 때 특정 값을 함수로 보내는 방법
    fromzero
    fromzero

    티스토리툴바