[React] 시간 처리하기 (몇 분 전, 몇 시간 전)

2022. 11. 26. 16:25·🍞 FrontEnd/React

프론트에서 사용자와 마주하는 디테일한 부분을 신경 쓰는 것은 매우 중요하다. 그래서 업로드 시간을 그대로 노출시키는 게 아니라 보여주기 전에 한 번 더 가공을 해서 보여주는 것을 구현할 것이다.

 

그렇기 때문에 오늘은 react-moment라는 라이브러리를 사용해볼 것이다!

이 라이브러리를 사용하면 손쉽게 구현 가능하다.

 

✅ react-moment

- react-moment는 react에서 moment를 편리하게 사용할 수 있게 만들어 놓은 라이브러리다.

- 심지어 react-moment는 별다른 작업을 하지 않아도 실시간으로 시간이 변하게 제공을 해준다.

 

GitHub - headzoo/react-moment: React component for the moment date library.

React component for the moment date library. Contribute to headzoo/react-moment development by creating an account on GitHub.

github.com

 

설치

react-moment는 moment가 dependency 되어 있기 때문에 moment부터 설치해주어야 한다.

npm i moment react-moment

 

코드

  // 업로드 시간 가공
  const displayCreateAt = (createdAt) => {
    const date = new Date(createdAt);
    const now = Date.now();
    const milliSeconds = now - date;

    const seconds = milliSeconds / 1000;
    const minutes = seconds / 60;
    const hours = minutes / 60;
    const days = hours / 24;
    const months = days / 30;
    const years = months / 12;

    if (seconds < 60) {
      return "방금 전";
    } else if (minutes < 60) {
      return `${Math.floor(minutes)}분 전`;
    } else if (hours < 24) {
      return `${Math.floor(hours)}시간 전`;
    } else if (days < 30) {
      return `${Math.floor(days)}일 전`;
    } else if (months < 12) {
      return `${Math.floor(months)}달 전`;
    } else {
      return `${Math.floor(years)}년 전`;
    }
  };

 

[React] 리액트에서 react-moment, moment.js 사용하여 실시간으로 변경되는 시간 만들기

✔ moment.js Moment js는 시간이 포함된 데이터를 받아 조작해야 할 경우 가장 많이 사용되는 편리한 라이브러리입니다. 스터디를 모집하는 사이드 프로젝트를 만들 때 사용하였습니다. 현재 시간에

haranglog.tistory.com

 

저작자표시 (새창열림)

'🍞 FrontEnd > React' 카테고리의 다른 글

[React] JWT를 이용한 로그인 흐름  (0) 2022.11.26
[React] JWT 토큰 : 웹 저장소별 차이  (0) 2022.11.26
[React] 간단한 토글 메뉴 구현하기  (0) 2022.11.21
[React] 리액트 프로젝트에 구글 폰트 적용하기  (0) 2022.11.18
[React] 리액트 JWT (JSON Web Token)  (0) 2022.11.08
'🍞 FrontEnd/React' 카테고리의 다른 글
  • [React] JWT를 이용한 로그인 흐름
  • [React] JWT 토큰 : 웹 저장소별 차이
  • [React] 간단한 토글 메뉴 구현하기
  • [React] 리액트 프로젝트에 구글 폰트 적용하기
박빵이
박빵이
2025년에도 갓생살기
  • 박빵이
    기억보다 기록
    박빵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (337)
      • 🍞 FrontEnd (97)
        • HTML+CSS (4)
        • JavaScript (17)
        • TypeScript (4)
        • React (52)
        • Next.js (2)
        • Android (15)
      • 🍞 BackEnd (24)
        • Java (15)
        • Node.js (6)
        • Spring (1)
      • 🍞 Cloud & Infra (0)
        • AWS SAA (0)
        • Microsoft Azure (0)
      • 🍞 Algorithm (147)
        • C++ (4)
        • Baekjoon (41)
        • Programmers (97)
      • 🍞 Computer Science (18)
        • 운영체제 (1)
        • 데이터 통신 (6)
        • 네트워크 (6)
        • 데이터베이스 (1)
      • 🍞 대외활동 & 부트캠프 (42)
        • 삼성 청년 SW 아카데미 (1)
        • LG유플러스 유레카 (0)
        • 한국대학생IT경영학회 (1)
        • IT연합동아리 UMC (17)
        • 길벗 블로깅 멘토 (18)
        • IT연합동아리 피로그래밍 (3)
        • 개발 컨퍼런스 (2)
  • 블로그 메뉴

    • Admin
  • 링크

    • GitHub
  • 인기 글

  • 태그

    Android
    길벗 블로깅 멘토링
    위상정렬
    코딩자율학습
    백준
    level1
    알고리즘
    umc
    안드로이드
    JavaScript
    코틀린
    길벗 블로깅 멘토
    Java
    react
    프로그래머스
    C++
    Front
    map
    유니온파인드
    level2
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
박빵이
[React] 시간 처리하기 (몇 분 전, 몇 시간 전)
상단으로

티스토리툴바