일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 딥러닝
- 정보보호
- 선언형프로그래밍
- 데이터베이스의기본
- 명령형프로그래밍
- 웹해킹
- 모두의딥러닝
- ReactNative
- 플러터앱개발공부
- react
- 날짜포맷팅
- 면접을위한CS전공지식노트
- OpenWeatherApi
- 플러터앱개발
- 플러터
- Object~
- 앱개발
- RectQuery
- 알고리즘
- BottomTabNavigation
- 플러터공부
- 앱개발공부
- tabBarBadge
- Flutter
- BottomTabBarNavigator
- date-fns
- 하단탭바알림
- Flutter공부
- Navigation
- 화면이동
Archives
- Today
- Total
기록하기
[React Native] date-fns로 날짜 포맷팅하기 본문
게시물을 작성한 시간에 따라 '방금 전', '3분 전', '1시간 전', '3일 전' 이런 형식으로 날짜가 나타나도록 수정하는 방법!
이때 사용한 라이브러리는 date-fns 라이브러리!
코드
function formatDate(date) {
const d = new Date(date);
const now = Date.now();
const diff = (now -d.getTime()) / 1000;
if(diff < 60 * 1) {
return '방금 전';
}
if(diff < 60 * 60 * 24 * 3) {
return formatDistanceToNow(d, {addSuffix: true, locale: ko});
}
return format(d, 'PPP EEE p', {locale: ko});
}
diff : 현재 시간과 파라미터로 받아온 시간의 차이를 초 단위로 계산한 값
now - d.getTime()의 단위를 밀리세컨드라서 계산하기 용이하도록 1000으로 미리 나눴음.
게시물 글이 작성된 시간이 1분 미만이면 '방금 전' 이라고 표시 되고 3일 이상이면 format을 사용해서 날짜랑 시간이 나오도록 설정했다.
format 함수에서 'PPP EEE p'라고 적은 이유는 PPP는 날짜, EEE는 요일, p는 시간을 나타내기 때문!
이렇게 다 적고서 날짜를 나타내도록 코드 수정함
<Text style={styles.date}>{formatDate(date)}</Text>
결과
'React Native' 카테고리의 다른 글
[React Native] non-std C++ exception 에러 해결하기 (0) | 2023.08.09 |
---|---|
[React Native] 하단 탭 바에 알림 나타내기 (tabBarBadge) (0) | 2023.08.03 |
[React Native] BottomTabNavigator 용어 정리 (개발할때 참고) (0) | 2023.08.02 |
[React Native] Navigation으로 화면 이동 구현하기 (0) | 2023.07.28 |
[React Native] Objects are not valid as a React child 오류 (0) | 2023.07.26 |