json 파일의 날짜 데이터를 자바스크립트에서 사용하기.
2021. 8. 13. 18:41
json의 기본적인 특징을 기억하자
배울 내용
- JSON과 Date 객체의 기본적인 특징.
- date-fns 라이브러리
1. JSON과 Date 객체의 기본적인 특징
//db.json
{
"note": [
{
"title": "title",
"details": "details"
"category": "category",
"id": 1,
"date": "2021-08-13T04:31:18.239Z" //UTC의 주요 특징으로 마지막이 Z로 끝난다.
//"date": new Date()
// Date타입이 아닌 string으로 표현해야한다.
},
{...}
]
}
자바스크립트의 Date 객체는 UTC형식으로 타임스탬프를 저장한다.
그러므로 json 파일의 데이터를 javascript에서 사용하기 위해서는 UTC형식으로 저장된 string 타입의 값을 가져와야한다. 그 후 가져온 데이터를 Date 객체로 변환한다. 아래 예제는 UTC string 날짜 데이터를 Date 객체로 바꾸는 방법을 보여준다.
// example.js
const date = new Date(Date.parse(stringdatafromjson));
1. parse의 param으로는 json 파일에서 가져온 string타입의 데이터를 받는다. 그 후 현재를 뜻하는 number를 리턴한다.
2. new Date의 인자로 위 number를 받고 Date 타입의 값을 리턴한다.
이제 json 파일에서 날짜를 표현하는 방법과, 그 값을 자바스크립트에서 처리하는 방법을 알게 되었다.
2. date-fns 라이브러리
필자는 'date-fns' 이라는 유명 date format 라이브러리를 이용해 편하고 다양하게 날짜를 표현하곤 한다.
// example.jsx
import { format } from 'date-fns';
...
const dateString = new Date(Date.parse(stringdatafromjson)); //string
...
return (
<div>{format(dateString, 'do MMMM Y')}</div>
)
format의 첫번째 인자로는 number과 Date 객체 둘 중 하나가 들어간다.
// example.jsx
import { format } from 'date-fns';
...
const dateNumber = Date.parse(stringdatafromjson); // number
...
return (
<div>{format(dateNumber, 'do MMMM Y')}</div>
)
👏이제 답할 수 있어야 하는 것들
'Frontend Basics' 카테고리의 다른 글
ch2. Loader와 Plugins (1) | 2021.06.15 |
---|---|
ch1. 프론트엔트의 시작, 웹팩 (3) | 2021.06.12 |