Programming/JavaScript

[JavaScript] Moment.js ์˜ค์ „/์˜คํ›„ ํ‘œ๊ธฐ ์œ„์น˜ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•

yuri lee 2023. 3. 15. 22:35
๋ฐ˜์‘ํ˜•

Intro

์•ˆ๋…•ํ•˜์„ธ์š”. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” Moment.js ์—์„œ ์˜ค์ „/์˜คํ›„ ํ‘œ๊ธฐ์˜ ์œ„์น˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

 

์ œ ๊ฒฝ์šฐ DB์—์„œ ๋ฐ›์•„์˜จ datetime ์‹œ๊ฐ„์„ 23.03.15 ์˜คํ›„ 10:30 ์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ momentjs ์—๋Š” ๋‹ค์Œ์˜ ์˜ˆ์‹œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ format์„ ์ปค์Šคํ…€ํ•˜์—ฌ ๋งŒ๋“ค์–ด ์ฃผ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. 

 

How to solve the problem

 

์ €๋Š” ํ•ด๋‹น ํ‘œ๊ธฐ๋ฒ•์„ ์ „์—ญ์œผ๋กœ ์ ์šฉํ•ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณตํ†ต ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด์คฌ์Šต๋‹ˆ๋‹ค. datetime ์‹œ๊ฐ„๊ณผ, format ์˜ 2๊ฐ€์ง€ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ , moment๋ฅผ ํ™œ์šฉํ•˜์—ฌ format์„ ์ ์šฉ์‹œ์ผœ์คฌ์Šต๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ DB์˜ datetime ํƒ€์ž…์ด string์ด๊ณ , YY.MM.DD hh:mm ํ˜•ํƒœ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์€ ๊ฐ์ž ๋ฐ์ดํ„ฐํƒ€์ž„ ๊ฐ’์— ๋งž๊ฒŒ ์„ค์ •ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

import 'moment/locale/ko';
import moment from 'moment';

static getDisplayDatetime(datetime: string, format: string): string {
    return moment(datetime, 'YY.MM.DD hh:mm').format(format);
}

 

ํ‘œ์‹œํ•˜๊ณ ์žํ•˜๋Š” datetime๊ณผ ์›ํ•˜๋Š” format ํ˜•์‹์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.  ์—ฌ๊ธฐ์„œ a๋Š” ์˜ค์ „/์˜คํ›„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” ํ•ด๋‹น ํ‘œ์‹œ๊ฐ€ ๋ฐ”๋กœ DD ๋’ค์— ์˜ค๊ธธ ์›ํ–ˆ๊ธฐ ๋–„๋ฌธ์— ์œ„  `MM.DD a hh:mm`  ํฌ๋งท์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. 

<span>
    {getDisplayDatetime(data.datetime, 'YY.MM.DD a hh:mm')}
</span>

 

 


https://momentjs.com/

๋ฐ˜์‘ํ˜•