junior developer :)/React

React_오늘 날짜 표시하기 (live-clock 라이브러리)

ㅁ윤슬ㅁ 2022. 12. 15. 12:38
728x90
반응형

todoapp을 만드는 도 중 현재 날짜를 표시하고 싶은 생각이 들어서 찾아보게 되었다.
다른 방식으로 기능을 구현할 수도 있겠지만 나는 live-clock 라이브러리를 사용해서 구현해보려고 한다.

사용을 위해서는 먼저 아래 코드로 설치를 한다.

npm install --save react react-live-clock

설치가 완료 된 후에 import를 한 뒤 아래와 같이 입력을 해줬다. 

NowDate.js

import Year from "react-live-clock";
import Month from "react-live-clock";
import Day from "react-live-clock";
import Date from "react-live-clock";

// 날짜 자동으로 바꿔주는 라이브러리 수정
function NowDate () {
    return (
        <div className="liveDate">
            <span>
                <Year
                id='year'
                format={"YYYY"}
                ticking={false}
                timezone={'KR/Pacific'}
                />
            </span>.
            <span>
                <Month
                id='Month'
                format={"MM"}
                ticking={false}
                timezone={'KR/Pacific'}
                />
            </span>.
            <span>
                <Date
                id='Date' 
                format={"DD"}
                ticking={false}
                timezone={'KR/Pacific'}
                />
            </span>.
            <span>
                <Day
                id='Day'
                format={"ddd"}
                ticking={false}
                timezone={'KR/Pacific'}
                />
            </span>
        </div>
    )
}
export default NowDate

이렇게 작성 된 컴포넌트를 연결시켜주면 완성이다. 

구현에 성공한 화면이다.
내가 지정한 포맷대로 출력이 된 모습을 볼 수 있다

하지만 클론창에 이런 어마무시한 오류들이 가득했다.

Monent Timezone has no data for KR/Pacific

한마디로 해당 데이터를 찾을 수 없다. 라는 말인 것 같다

이 를 해결하기 위해서 다시한 번 공식문서를 보던 중 Properties에 적혀있는 timezone의 list를 찾을 수 있었다.
이 목록에 적혀 있는 시간대를 이용해 아래와 같이 timezone을 수정해줬다.

                <Year
                id='year'
                format={"YYYY"}
                // 날짜를 어떻게 표현할 것 인지에 대한 포멧
                ticking={true}
                // 초 간격으로 시간 자동 업데이트
                timezone={'Asia/Seoul'}
                // 서울 기준 시간
                />

 

수정 뒤에는 더 이상 오류가 뜨지 않았고, 구현 다음 날에도 시간이 잘 변화함을 확인했다.

위 작성된 format, ticking, timezone등의 properies는 공식문서에 설명이 잘 되어 있다.


출처

https://momentjs.com/docs/#/displaying/format/
https://www.npmjs.com/package/react-live-clock

 

728x90
반응형