오늘은 date-fns 라이브러리를 이용하여 날짜 형식을 변경을 해보자.
먼저 필요한 라이브러리 설치를 한다.
// 버전에 따라 string 사용이 안되는 경우도 있으니 버전 확인 후 install
npm i date-fns@1.30.1
npm i -D babel-plugin-date-fns@0.2.1
craco 에서 date-fns 를 설정 해준다.
craco.config.js
module.exports = function() {
return {
babel: {
plugins: ['date-fns'],
}
}
}
dateUtils 라는 파일을 하나 생성하고 작성한다.
src/utils/dateUtils.ts
import { format } from 'date-fns'
export const getFormattedDate = (
date: Date | string | number = new Date(),
givenFormat: string = 'YYYY.MM.DD',
options: {
locale?: Object
} = { locale: enLocale },
) => {
return format(date, givenFormat, options)
}
형식 변경이 필요한 부분에서 사용하면 간단하게 완료 된다.
src/components/Temp.tsx
import React from 'react'
import { getFormattedDate } from '@/utils/dateUtils'
export const Temp = () => {
const date: string = new Date().toString()
const result: string = getFormattedDate(date, 'DD MMM YYYY')
return (
<div>
변경 전 : {date}
</div>
<div>
변경 후 : {result}
</div>
)
}
결과는 아래와 같다.
- Year
y | 0, 1, 2, 3, 4, 5, ... |
yo | 0th, 1st, 2nd, 3rd, 4th, 5th, ... |
yy | 00, 01, 02, ..., 10, 11, ... |
yyy | 000, 001, 002, ..., 010, 011, ..., 2021, ... |
yyyy | 0000, 0001, 0002, ..., 0010, 0011, ...2021, ... |
- Month
M | 1, 2, 3, 4, 5, ..., 12 |
Mo | 1st, 2nd, 3rd, ..., 12th |
MM | 01, 02, 03, 04, ..., 12 |
MMM | Jan, Feb, Mar, Apr, ..,. Dec |
MMMM | January, February, March, April, ..., December |
MMMMM | J, F, M, A, ..., D |
- Day of month
d | 1, 2, 3, 4, 5, ..., 31 |
do | 1st, 2nd, 4rd, 4th, 5th, ..., 31st |
dd | 01, 02, 03, 04, 05, ..., 31 |
- Day of year
D | 1, 2, 3, 4, ..., 365 |
Do | 1st, 2nd, 3rd, 4th, ..., 365th |
DD | 01, 02, 03, 04, ..., 365 |
DDD | 001, 002, 003, 004, ..., 365 |
- Day of week
E~EEE | Sun, Mon, Tue, Sun, Mon, Tue, Wed, Thu, Fri, Sat |
EEEE | Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday |
EEEEE | S, M, T, W, T, F, S |
EEEEEE | Su, Mo, Tu, We, Th, Fr, Sa |
- Hour (24h)
H | 0, 1, 2, 3, 4, ..., 23 |
Ho | 0th, 1st, 2nd, 3rd, 4th, ..., 23rd |
HH | 00, 01, 02, 03, 04, ..., 23 |
- Hour (12h)
h | 1, 2, 3, 4, ..., 12 |
ho | 1st, 2nd, 3rd, 4th, ..., 12th |
hh | 01, 02, 03, 04, ..., 12 |
- Minute
m | 0, 1, 2, 3, 4, ..., 59 |
mo | 0th, 1st, 2nd, 3rd, 4th, ..., 59th |
mm | 00, 01, 02, 03, 04, ..., 59 |
- Second
s | 0, 1, 2, 3, 4, ..., 59 |
so | 0th, 1st, 2nd, 3rd, 4th, ..., 59th |
ss | 00, 01, 02, 03, 04, ..., 59 |
'React' 카테고리의 다른 글
[React] redux 를 이용하여 popup 창 구현하기 - 떽떽대는 개발공부 (0) | 2021.04.15 |
---|---|
[React] react-router-dom, loadable, history 를 이용한 페이지 이동 - 떽떽대는 개발공부 (0) | 2021.04.02 |
[React] react 에서 다국어 처리 적용하기(4) - 떽떽대는 개발공부 (0) | 2021.03.31 |
[React] html 파일에서 css 파일 연결하기 - 떽떽대는 개발공부 (0) | 2021.03.24 |
[React / typescript] typescript 예제 - 떽떽대는 개발공부 (0) | 2021.03.17 |
댓글