date-fns
미니프로젝트 진행 중 데이터 중 날짜 데이터가 있어서 날짜를 가공하기 위해 date-fns 라이브러리를 사용해보기로 했다
1 | $ npm i date-fns |
format()
api로 받아오는 데이터는

이런식으로 저장되어있다
기본적으로 date를 원하는 형식으로 출력할수있는 메소드 format()
이 있다
format()은 2개의 인수가 필수고 option으로 다른 값들을 넣어 줄 수 있다
첫 번째는 변경할 date
두 번째는 원하는 format 이다
1 | format(new Date(), 'yyyy.MM.dd HH:mm') |
받아온 데이터를 yyyy.MM.dd HH:mm
형식으로 바꿔보자
1 | format(pub_date, 'yyyy.MM.dd HH:mm') |
으로 작성 했더니 error를 뱉어 냈다

v2.0.0-beta 부터 문자열을 허용하지 않는다고 하면서 parseISO를 사용해달라고 한다
1 | format(parseISO(pub_date), 'yyyy.MM.dd HH:mm') |
이렇게 작성해 줬더니 잘 된다.
differenceInDays() , differenceInHours()
데이터가 작성된 날짜와 현재의 날짜를 비교해서 얼마전에 작성되었는지도 출력해주기 위해 differenceInDays()
, differenceInHours()
도 사용해 주었다
두 메소드 다 비교할 날짜 2개를 인수로 넣어 준다
1 | const result = differenceInHours( |
differenceInDays()
를 사용하면 작성된 날짜와 현재 날짜가 같으면 0이 반환 되기 때문에differenceInHours()
를 사용해 날짜가 같으면 시간으로 표시 해 준다
함수로 만들어 조건에 맞게 출력할 수 있도록 해준다
1 | const dateFunc = (pub_date) => { |

