Responsive Advertisement

JavaScript์—์„œ ๋‹ค์–‘ํ•œ ๋‚ ์งœ ํ˜•์‹ ์‚ฌ์šฉํ•˜๊ธฐ: Date Formats ์™„๋ฒฝ ๊ฐ€์ด๋“œ

JavaScript์—์„œ๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด Date ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‚ ์งœ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” JavaScript์—์„œ ๋‚ ์งœ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋‹ค์–‘ํ•œ ๋‚ ์งœ ํ˜•์‹์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

JavaScript์—์„œ Date ๊ฐ์ฒด ์ƒ์„ฑํ•˜๊ธฐ

JavaScript์—์„œ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ Date ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Date ๊ฐ์ฒด๋Š” ํ˜„์žฌ ์‹œ๊ฐ„, ํŠน์ • ๋‚ ์งœ ๋ฐ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๊ฐ€์ ธ์˜ค๊ธฐ

๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ Date ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์ด ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

// ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„
const now = new Date();
console.log(now);

์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

2. ํŠน์ • ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์„ค์ •ํ•˜๊ธฐ

ํŠน์ • ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜๋ ค๋ฉด Date(year, month, day, hour, minute, second, millisecond) ํ˜•์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// ํŠน์ • ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ์„ค์ •
const specificDate = new Date(2024, 8, 26, 14, 30, 0); // 2024๋…„ 9์›” 26์ผ 14:30:00
console.log(specificDate);

์ฃผ์˜ํ•  ์ ์€ month ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 9์›”์€ 8๋กœ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

JavaScript ๋‚ ์งœ ํ˜•์‹ ๋ณ€ํ™˜

๋‚ ์งœ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์—๋Š” ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ถœ๋ ฅํ•ด์•ผ ํ•  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. JavaScript์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‚ ์งœ ํ˜•์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ๊ธฐ๋ณธ ๋‚ ์งœ ์ถœ๋ ฅ ํ˜•์‹

๊ธฐ๋ณธ์ ์œผ๋กœ Date ๊ฐ์ฒด๋ฅผ console.log๋กœ ์ถœ๋ ฅํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

// ๊ธฐ๋ณธ ๋‚ ์งœ ์ถœ๋ ฅ
console.log(new Date()); // Thu Sep 26 2024 14:30:00 GMT+0900 (KST)

๊ธฐ๋ณธ ์ถœ๋ ฅ ํ˜•์‹์€ ๋ธŒ๋ผ์šฐ์ € ๋ฐ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฃผ๋กœ ์š”์ผ, ์›”, ์ผ, ๋…„๋„, ์‹œ๊ฐ„, ์‹œ๊ฐ„๋Œ€๊ฐ€ ํ•จ๊ป˜ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

2. toDateString() ๋ฉ”์„œ๋“œ

toDateString() ๋ฉ”์„œ๋“œ๋Š” ๋‚ ์งœ ๋ถ€๋ถ„๋งŒ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ์ •๋ณด๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

// ๋‚ ์งœ๋งŒ ์ถœ๋ ฅ
const date = new Date();
console.log(date.toDateString()); // "Thu Sep 26 2024"

์ด ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์š”์ผ, ์›”, ์ผ, ์—ฐ๋„๋ฅผ ํฌํ•จํ•œ ๊ฐ„๋‹จํ•œ ๋‚ ์งœ ํ˜•์‹์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

3. toLocaleDateString() ๋ฉ”์„œ๋“œ

์ด ๋ฉ”์„œ๋“œ๋Š” ์ง€์—ญ ์„ค์ •์— ๋”ฐ๋ผ ๋‚ ์งœ๋ฅผ ํ˜•์‹ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋กœ์ผ€์ผ๊ณผ ์˜ต์…˜์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์–ด, ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

// ๋กœ์ผ€์ผ์— ๋”ฐ๋ฅธ ๋‚ ์งœ ์ถœ๋ ฅ
const date = new Date();
console.log(date.toLocaleDateString('en-US')); // "9/26/2024"
console.log(date.toLocaleDateString('ko-KR')); // "2024. 9. 26."

toLocaleDateString() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์—ญ๋ณ„ ๋‚ ์งœ ํ˜•์‹์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. toISOString() ๋ฉ”์„œ๋“œ

์ด ๋ฉ”์„œ๋“œ๋Š” ๋‚ ์งœ๋ฅผ ISO 8601 ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ISO 8601์€ ๊ตญ์ œ ํ‘œ์ค€ ๋‚ ์งœ ํ˜•์‹์œผ๋กœ, ์ฃผ๋กœ ์„œ๋ฒ„ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

// ISO 8601 ํ˜•์‹ ์ถœ๋ ฅ
const date = new Date();
console.log(date.toISOString()); // "2024-09-26T05:30:00.000Z"

์ด ํ˜•์‹์€ ์—ฐ๋„, ์›”, ์ผ, ์‹œ๊ฐ„(UTC ๊ธฐ์ค€)์„ ํฌํ•จํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ๋„๋ฆฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

5. toUTCString() ๋ฉ”์„œ๋“œ

toUTCString() ๋ฉ”์„œ๋“œ๋Š” ๋‚ ์งœ๋ฅผ UTC(ํ˜‘์ • ์„ธ๊ณ„์‹œ) ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

// UTC ๊ธฐ์ค€ ๋‚ ์งœ ์ถœ๋ ฅ
const date = new Date();
console.log(date.toUTCString()); // "Thu, 26 Sep 2024 05:30:00 GMT"

์ด ๋ฉ”์„œ๋“œ๋Š” ์ฃผ๋กœ ์„œ๋ฒ„์—์„œ UTC ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ์ €์žฅํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ๋‚ ์งœ ํ˜•์‹ ์ถœ๋ ฅ

๊ธฐ๋ณธ ๋ฉ”์„œ๋“œ ์™ธ์—๋„, ์ง์ ‘ ๋‚ ์งœ ํ˜•์‹์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด JavaScript์˜ ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. getFullYear(), getMonth(), getDate() ๋ฉ”์„œ๋“œ

JavaScript์—์„œ๋Š” ์—ฐ๋„, ์›”, ์ผ์„ ๊ฐ๊ฐ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// ์—ฐ, ์›”, ์ผ์„ ์กฐํ•ฉํ•˜์—ฌ ์ปค์Šคํ…€ ํ˜•์‹ ์ถœ๋ ฅ
const date = new Date();
const year = date.getFullYear();
const month = date.getMonth() + 1; // ์›”์€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฏ€๋กœ 1์„ ๋”ํ•จ
const day = date.getDate();

const customFormat = `${year}-${month}-${day}`;
console.log(customFormat); // "2024-9-26"

์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž์‹ ๋งŒ์˜ ๋‚ ์งœ ํ˜•์‹์„ ์ž์œ ๋กญ๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. Intl.DateTimeFormat() ๊ฐ์ฒด

Intl.DateTimeFormat() ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๋”์šฑ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ผ€์ผ๊ณผ ์˜ต์…˜์„ ์ง€์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// Intl.DateTimeFormat ์‚ฌ์šฉ
const date = new Date();
const options = { year: 'numeric', month: '2-digit', day: '2-digit' };
console.log(new Intl.DateTimeFormat('en-US', options).format(date)); // "09/26/2024"

Intl.DateTimeFormat์€ ๋งค์šฐ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋‚ ์งœ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹œ๊ฐ„ ํ˜•์‹๊นŒ์ง€๋„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

JavaScript์—์„œ๋Š” Date ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋‚ ์งœ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚ ์งœ๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ์ปค์Šคํ…€ ํ˜•์‹์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ toLocaleDateString์ด๋‚˜ Intl.DateTimeFormat๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋ฉด ๋กœ์ผ€์ผ์— ๋งž์ถ˜ ๋‚ ์งœ ํ˜•์‹์„ ์†์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ์ ์ ˆํ•œ ๋‚ ์งœ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋”์šฑ ํšจ์œจ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ