- Calendar Library
말 그대로... 달력 표시할 때 사용.
- Moment Library
시간이 포함된 데이터를 받아 조작해야 할 경우 사용.
달력이야 흔하니 굳이 설명은 않겠지만 moment는 조금 설명을 해두는 게 좋지 않을까 싶다.
https://momentjs.com/docs/ 공식 문서
- Calendar 활용
(조금 나중에...)
- Moment 활용
$ npm i moment
//혹은 yarn add moment
설치했다면 import해서 사용하면 된다. 자동으로 한국 시간을 불러온다지만 확실하게 하기 위해선 import 'moment/locale/ko'; 해주면 된다.
moment(date).format("DD")
moment에 날짜를 넣고 format으로 형식을 지정하면 format에 맞춰 date를 확인할 수 있다.
좋은 정리 사이트
https://haranglog.tistory.com/10
[React] 리액트에서 react-moment, moment.js 사용하여 실시간으로 변경되는 시간 만들기
Moment.js는 현재 유지 관리 모드에 있는 레거시 프로젝트입니다. 다른 라이브러리를 사용하시는 것을 추천드립니다. (참고) 다른 대안 라이브러리 (2023.02.25 수정) ✔ moment.js moment.js는 시간이 포함
haranglog.tistory.com
커스텀 관련
TIL | React 캘린더 (react-calendar 라이브러리 - TypeScript 적용 ...)
23.08.07 1. react-calendar로 React 캘린더 구현하기 - TypeScript 적용 투두리스트 개인 과제 카테고리 바 하단이 허전해서 캘린더를 구현해보기로 했다. 찾아보던 중 역시나 react npm에서 캘린더를 쉽게 구
velog.io
주차 계산
//일요일부터 주차 계산
const getCurrentweek: () => string = () => {
var now = moment(selectDate).week()
var lastmonthweek = moment(selectDate).subtract(1, 'months').endOf('month').week()
return moment(selectDate).format("YYYY년 MM월 ") + (now - lastmonthweek + 1).toString() + "주차"
}
//월요일부터 주차 계산
const getCurrentweek: () => string = () => {
var now = moment(selectDate).subtract(1,"day").week()
var lastmonthweek = moment(selectDate).subtract(1, 'months').endOf('month').week()
return moment(selectDate).format("YYYY년 MM월 ") + (now - lastmonthweek + 1).toString() + "주차"
}
//substract로 하루만 빼면 됨
일자별 필터링(더 좋은 방법이 있겠지만 아무튼... 우리 프로젝트에서 내가 한 것)
events.filter((e) => {
if (criterion == "day" || criterion == "week" || criterion == "month") {
const target = moment(targetDate).subtract(1,"day")
//하루 당겨서 월~일로 만들기 위해 하루 뺌
if(criterion==="week"){
//기본은 일~토 필터링인데 월~일로 필터링하고싶어서 로직 수정
const eventStartDate = moment(e.startDate).subtract(1,"day").startOf("week")
const eventEndDate = moment(e.endDate).subtract(1,"day").endOf("week")
// const eventEndDate = moment(e.endDate).endOf(criterion)
// eventStartDate.add(1,"day")
// eventEndDate.add(1,"day")
return target >= eventStartDate && target <= eventEndDate;
}
else{
//기본
const eventStartDate = moment(e.startDate).startOf(criterion)
const eventEndDate = moment(e.endDate).endOf(criterion)
return target >= eventStartDate && target <= eventEndDate;
}
}
})'front-end > React' 카테고리의 다른 글
| React Quill (0) | 2024.09.26 |
|---|---|
| [React] Element (0) | 2024.03.08 |
| [React] React 오류 ENOENT: no such file or directory (0) | 2024.03.08 |
| [React] JSX-Java Script Xml (0) | 2024.03.08 |
| [React] 기초 정리 (0) | 2024.03.08 |