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
๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ๋ก์ผ์ผ์ ๋ง์ถ ๋ ์ง ํ์์ ์์ฝ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค. ๋ค์ํ ์ํฉ์์ ์ ์ ํ ๋ ์ง ํ์์ ์ฌ์ฉํ์ฌ ๋์ฑ ํจ์จ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํด๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ