1. dayjs๋ react์์ ๋ ์ง, ์๊ฐ์ ํ์ํ๊ณ ์๊ฐ ๊ณ์ฐ์ ์ํด ์ฐ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค.
(1) install
npm install dayjs
yarn์ ๋ฐ๋ก ๋ณด์๊ธธ..
(2) import
์ด์ ๋ค์ด ๋ฐ์ dayjs ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด ๋ณด๊ฒ ๋ค. dayjs ์์ฒด๋ง import ํ๋ค๊ณ ํด์ ๋ด์ฅ ํจ์๋ฅผ ๋ค ์ธ ์ ์๋ค. ๋ช๋ช ํจ์๋ค์ ์ง์ import๋ฐ ์์๋ ๋ฐ์์ผ ํ๋ค.
2. ๋ง์ด ์ฐ์ด๋ ํจ์ ์์๋ณด๊ธฐ
(0) ์ฌ์ ์ธํ
now๋ผ๋ ๋ณ์์ ๋ ์์ผ ์๋ถ์ด๋ฅผ ๋ฃ์ด์ฃผ๊ฒ ๋ค. ๋ค์์ด dayjs๋ฅผ ํตํด ๋ณ์์ ๋ ์์ผ, ์๋ถ์ด๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ์ด๋ค.
const now = dayjs("2022-11-04 16:01:30");
(1) set ํจ์, format ํจ์
day(now).set("minute", 5)๋ now์์์ ๋ถ์ ๊บผ๋ด์์ 5๋ก ๋ฐ๊ฟ๋ผ๋ ๋ป์ด๋ค.
.format("YYYY.MM.DD HH:mm:ss")๋ ์์ ์ ๋๋ด๊ณ ๋ค์ now์ ์ง์ด๋ฃ์ ๋ ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ์ง์ด ๋ฃ์ผ๋ผ๋ ๋ป์ด๋ค.
์ฌ๊ธฐ์ set ๋ถ๋ถ์ "minute"์ "hour", "year"๋ฑ ํด๋น ํ์์ผ๋ก ๋ค ์ธ ์ ์๋ค.
format์์ HH:mm:ss ์ค HH๋ ์๊ฐ์ 24์๊ฐ์ ๋ก ํ๊ธฐํ๊ฒ ๋ค๋ ๋ป์ด๋ค. hh๋ก ํ๊ธฐํ๋ฉด 12์๊ฐ์ ๋ก ํ๊ธฐ๋๋ค.
(2) get ํจ์
now์์ ๋ ์์ผ ์๋ถ์ด๋ฅผ ๋นผ๋ด์ค๋ ํจ์์ด๋ค. " "์์ ์ ๋ ๋ด์ฉ์ ๋ฐ๋ผ ์ํ๋ ๊ฒ์ ๋นผ์ฌ ์ ์๋ค.
์ฃผ์์ ์ month์ ๊ฐ์ด 0๋ถํฐ ์์ํด์ 0์ด 1์, 1์ด 2์ ... 11์ด 12์์ ๋ปํ๋ค.
์์ผ์ ๊ฒฝ์ฐ 0์ด ์ผ์์ผ~ 6์ด ํ ์์ผ ์์ผ๋ก ์งํ๋๋ค.
(3)add, substract ํจ์
ํ์ฌ ์๊ฐ์์ ๋ช ์๊ฐ์ ๋นผ๊ฑฐ๋ ๋ํ๋ผ๋ ํจ์์ด๋ค.
(4)startof, endof
dayjs(now).startof("month") => ํด๋น "๋ฌ"์ ๋งจ ์ฒ์ ๋ ์ง๋ฅผ ๊ฐ์ ธ์๋ผ
dayjs(now).startof("year") => ํด๋น "๋ ๋"์ ๋งจ ์ฒ์ ๋ ์ง๋ฅผ ๊ฐ์ ธ์๋ผ
endof๋ ๋ฐ๋ => ํด๋น " "์ ๋งจ ๋ ๋ ์ง๋ฅผ ๊ฐ์ ธ์๋ผ
(5) ๋น๊ต ํจ์ (isSame, isBefore, isAfter, isSameorBefore, isSameorAfter)
boolean ๋ฐํ ํจ์๋ค์ด๋ค.
dayjs(์๊ฐ ๋ณ์A).isSame(์๊ฐ๋ณ์B, "๋น๊ต ๋จ์") ์์ผ๋ก ๋๋ค.
๋น๊ต ๋จ์๋ฅผ ๋ฐ๋ก ์ ์ ์ด์ฃผ๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ๋ ๋จ์๋ก ์๋ก ๊ฐ๊ฑฐ๋ ๋ค๋ฅธ์ง ๋น๊ตํ๋ค.
A.isBefore B๋ A๊ฐ B๋ณด๋ค ์๊ฐ์ด ๋น ๋ฅด๋ ์ด๊ณ
A.isAfter B๋ A๊ฐ B๋ณด๋ค ํ ์๊ฐ๋๋ ์ด๋ค.
(6)Between ํจ์
dayjs(๊ฒ์ฆํ ๋ ์์ผ ์๋ถ์ด).isBetween(์๊ฐ๋ณ์A, ์๊ฐ๋ณ์B ,"๋น๊ต๋จ์")
A,B ๋ ์ฌ์ด์ ํด๋น ๊ฒ์ฆํ ์๊ฐ์ด ์๋์ง ๋น๊ต, A์ B ๋์ ์์๋ ์๊ด ์๋ค.
๋น๊ต ๋จ์ ์ ์ ์ด์ฃผ๋ฉด ๋ฐ๋ฆฌ์ธ์ปจ๋ ๋จ์๋ก ํด๋น ๊ฐ๋ค ์ฌ์ด์ ์๋์ง ํ์ธํ๊ณ
๋น๊ต ๋จ์ ์จ์ฃผ๋ฉด ๋ฑ ๊ทธ๊ฒ๋ง ๊ฐ์์ง ํ์ธํ๋ค. ์๋ฅผ ๋ค์ด A === 2077๋ 10์ 29์ผ ์ด๊ณ B === 4002๋ 10์ 29์ผ ์ด๋ผ๊ณ ๊ฐ์ ํ์. ๊ฒ์ฆํ ๋ ์์ผ์ด 2022๋ 10์ 29์ผ์ด๋ผ๋ ๋น๊ต๋จ์๊ฐ "date"๋ผ๋ฉด ํด๋น ๊ฐ์ false ์ด๋ค.
์๋ํ๋ฉด 10์ 29์ผ๊ณผ 10์ 29์ผ ์ฌ์ด์๋ ํ์ด ์๊ธฐ ๋๋ฌธ์, ๊ฒ์ฆํ ๊ฐ 10์ 29์ผ์ด ๊ทธ ์ฌ์ด์ ์๋ค๊ณ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
(7) ๋ ๋ ์ง ๊ฐ์ ์ฐจ์ด๋ฅผ ๋ํ๋ด๋ ํจ์
dayjs(A).diff(B, "์ฐจ์ด๋ฅผ ๋ํ๋ผ ๋จ์")์ด๋ฉด A -B ๋ผ๋ ๊ฒ์ด๋ค.