๋ฐ˜์‘ํ˜•

๐ŸŽˆ date-fns

date-fns๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค.

 

โœ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜

yarn add date-fns

 

โœ… date-fns ์žฅ์ 

  1. ๋‹จ์ˆœ์„ฑ: date-fns๋Š” ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋งŒ์„ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์„œ ๋ณต์žก์„ฑ์„ ์ค„์ด๊ณ  ํ•„์š” ์—†๋Š” ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.
  2. ๋ชจ๋“ˆํ™”: ๋ชจ๋“  ํ•จ์ˆ˜๊ฐ€ ๋…๋ฆฝ์ ์ด๋ฏ€๋กœ ํŠน์ • ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ•„์š”ํ•œ ๋ชจ๋“ˆ๋งŒ ๊ฐ€์ ธ์˜ค๋ฉด ๋œ๋‹ค.
  3. ์ผ๊ด€๋œ API: ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํ•จ์ˆ˜๋“ค์ด ํ†ต์ผ๋œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  4. ํƒ€์ž„์กด ์ง€์› ๋ฐ ํ™•์žฅ์„ฑ: date-fns๋Š” ๋ณต์žกํ•œ ํƒ€์ž„์กด ๋ณ€ํ™˜ ๋“ฑ์„ ์ง€์›ํ•˜๋ฉฐ, Date ๊ฐ์ฒด์˜ ๋ณต์žก์„ฑ์„ ๊ฐ„์†Œํ™”ํ•ด์ค€๋‹ค.
  5. ํผํฌ๋จผ์Šค: Moment.js์™€ ๋น„๊ตํ•ด ๊ฐ€๋ณ๊ณ  ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋ฉฐ, ๋ฒˆ๋“ค ํฌ๊ธฐ๋„ ๋” ์ž‘๋‹ค.

โœ… date-fns ์ฃผ์š” ์‚ฌ์šฉ ์˜ˆ์‹œ

1. parseISO()

๋ฌธ์ž์—ด๋กœ ๋œ ISO ๋‚ ์งœ๋ฅผ Date ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜.

const weddingDate = parseISO(date);


date๋Š” ISO 8601 ํฌ๋งท(์˜ˆ: "2024-11-12T12:30:00")์ธ ๋ฌธ์ž์—ด๋กœ ์ „๋‹ฌ๋˜๋ฉฐ, ์ด๋ฅผ Date ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•ด ๋‹ค์–‘ํ•œ ๋‚ ์งœ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

 

2. format()

  • ๋‚ ์งœ ๊ฐ์ฒด๋ฅผ ํŠน์ • ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฌธ์ž์—ด๋กœ ์ถœ๋ ฅ.
    format(weddingDate, 'yy.MM.dd')
    weddingDate๋ฅผ yy.MM.dd ํฌ๋งท(์˜ˆ: "24.11.12")์œผ๋กœ ํฌ๋งทํŒ…ํ•œ๋‹ค.

3. getDay()

  • ์ฃผ์–ด์ง„ Date ๊ฐ์ฒด์—์„œ ์š”์ผ์„ ์ˆซ์ž(0~6)๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. (0์€ ์ผ์š”์ผ, 6์€ ํ† ์š”์ผ)
    const dayIndex = getDay(weddingDate);
    DAYS[dayIndex]์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์š”์ผ์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
          <div className={cx('txt-day')}>{DAYS[dayIndex]}</div>

์™œ date-fns๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

  1. ๋‚ ์งœ ์—ฐ์‚ฐ์˜ ๋ณต์žก์„ฑ: ๊ธฐ๋ณธ Date ๊ฐ์ฒด๋กœ ๋‚ ์งœ ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋ณต์žกํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๊ฐ€ ๋˜๊ธฐ ์‰ฝ๋‹ค. date-fns๋Š” ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํ›จ์”ฌ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.
  2. ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ: ๋‚ ์งœ๋ฅผ ํฌ๋งทํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค format() ๊ฐ™์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜๊ฐ€ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ธ๋‹ค.
  3. ์œ ์ง€ ๋ณด์ˆ˜์„ฑ: ๋‚ด์žฅ Date ๊ฐ์ฒด ๋ฉ”์„œ๋“œ๋Š” ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ์ผ๊ด€์„ฑ์ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, date-fns๋Š” ๋ชจ๋“  ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•

+ Recent posts