๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Javascript

javascript๋กœ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ

 

 

 

๐Ÿ“’ Date() 

javascript๋กœ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ๊ตฌํ•  ๋•Œ, ๊ณตํ†ต์ ์œผ๋กœ ์“ฐ์ด๋Š” ํ•จ์ˆ˜๊ฐ€ Date()์ด๋‹ค.

์ด ํ•จ์ˆ˜๋Š” ๊ตญ์ œ ํ‘œ์ค€์‹œ(1970๋…„ 1์›” 1์ผ 0์‹œ 0๋ถ„ 0์ดˆ)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์•Œ๋ ค์ค€๋‹ค.

 

 

๐Ÿ”Ž ์˜ˆ์‹œ

const today = new Date();
console.log(today);
// ๊ฒฐ๊ณผ Tue Dec 26 2023 13:07:12 GMT+0900 (ํ•œ๊ตญ ํ‘œ์ค€์‹œ)

 

 

 

์—ฌ๊ธฐ์— ์ถ”๊ฐ€ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ๊ฒฐ๊ณผ ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

์•„๋ž˜๋Š” ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.

 

const year = today.getFullYear();	// ์—ฐ๋„
console.log(year); // ๊ฒฐ๊ณผ 2023
const month = today.getMonth();		// ์›”
console.log(month); // ๊ฒฐ๊ณผ 11
const date = today.getDate();		// ์ผ
console.log(date); // ๊ฒฐ๊ณผ 23
const day = today.getDay();		// ์š”์ผ
console.log(day); // ๊ฒฐ๊ณผ 2
const hour = today.getHours();		// ์‹œ๊ฐ„
console.log(hour); //๊ฒฐ๊ณผ 13
const min = today.getMinutes();		// ๋ถ„
console.log(min); //๊ฒฐ๊ณผ 7
const sec = today.getSeconds();		// ์ดˆ
console.log(sec); //๊ฒฐ๊ณผ 12

 

 

 

๐Ÿ’ฃ์ฃผ์˜

์œ„์— ๋‚˜์˜จ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ๊ตฌํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์ˆซ์ž๋กœ ๋‚˜์˜จ๋‹ค.

 

๊ทธ ์ค‘์— getMonth()๋Š” ๋ฐฐ์—ด์ด๊ธฐ ๋•Œ๋ฌธ์— 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์‹ค์ œ ๊ฐ’๋ณด๋‹ค 1๋ณด๋‹ค ์ž‘๊ฒŒ ๋‚˜์™€์„œ ๋”ฐ๋กœ +1์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

const month = today.getMonth() + 1;
console.log(month); // ๊ฒฐ๊ณผ 12

 

 

getDay() ์—ญ์‹œ ๋ฐฐ์—ด์ด๋‹ค.

0๋ถ€ํ„ฐ 6๊นŒ์ง€ ์žˆ์œผ๋ฉฐ, ์ผ์š”์ผ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. 

์ด๋ฅผ ๊ธ€์ž๋กœ ๋‚˜์˜ค๊ฒŒ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

 

const daysNum = today.getDay();
const daysTrans = ['์ผ','์›”', 'ํ™”', '์ˆ˜', '๋ชฉ', '๊ธˆ', 'ํ† ']
const day = daysTrans[daysNum];

 

 

 

 

 

๐Ÿ“’ ์›น์— ๋‚˜ํƒ€๋‚ด๊ธฐ

์•ž์„œ ๋‚ด์šฉ๋“ค์€ ๊ฒฐ๊ณผ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๊ฐ’์„ ํ™”๋ฉด์— ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

 

๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค.

์›ํ•˜๋Š” class๋‚˜ id์— ๊ฒฐ๊ณผ ๊ฐ’์„ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„  querySelector()ํ•จ์ˆ˜์™€ innerText()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

querySelector()๋Š” html ๋‚ด์—์„œ class๋‚˜ id๊ฐ’์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

<body>
  <p calss="currentDay"></p>
  <p id="currentTime"></p>
  
  <script>
    const currentDay = document.querySelector(".currentDay");
    const currentTime = document.querySelector("#currentTime");
  </script>
</body>

 

 

innerText()๋Š” ํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ฝ์–ด์˜ค๋Š” ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.

 

const currentDay = document.querySelector(".currentDay");
const currentTime = document.querySelector("#currentTime");
currentDay.innerText = `${year}๋…„ ${month}์›” ${date}์ผ ${day}์š”์ผ`;
currentTime.innerText = `${hours}์‹œ ${min}๋ถ„ ${sec}์ดˆ`;

 

 

 

 

 

๐Ÿ“’ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ

์—ฌ๊ธฐ๊นŒ์ง€ ๊ตฌํ˜„ํ–ˆ๋‹ค๋ฉด ๊ฑฐ์˜ ๋์ด๋‹ค.

ํ˜„ ์ƒํƒœ์—์„œ๋Š” ์›น์ด ์‹คํ–‰๋œ ์‹œ์ ์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ๊ฐ„์ด ๋‚˜์˜จ๋‹ค.

์ดํ›„์— ์‹œ๊ฐ„์ด ํ˜๋Ÿฌ๋„ ์‹œ๊ฐ„์€ ๊ธฐ์ค€์‹œ๊ฐ„์— ๋ฉˆ์ถฐ์žˆ๋‹ค.

 

์ด๋ฅผ ์œ„ํ•ด์„  ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ํ•˜์—ฌ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค.

์ด ๋•Œ setInterval() ์‚ฌ์šฉ ์‹œ, ํŠน์ • ์ฝ”๋“œ๋ฅผ ์ง€์ •๋œ ์‹œ๊ฐ„๋งˆ๋‹ค ์žฌ์‹คํ–‰ํ•œ๋‹ค.

์‹œ๊ฐ„์˜ ๋‹จ์œ„๋Š” 1000๋ฐ€๋ฆฌ์ดˆ์ด๋‹ค.

 

// ๋ฌธ๋ฒ•
setInterval(ํ•จ์ˆ˜๋ช…, ์‹œ๊ฐ„);

//์˜ˆ์‹œ
setInterval(getTimes, 1000);
function getTimes() {
  const today = new Date();
  const hour = today.getHours();	
  const min = today.getMinutes();
  const sec = today.getSeconds();
  const currentTime = document.querySelector("#currentTime");
  currentTime.innerText = `${hours}์‹œ ${min}๋ถ„ ${sec}์ดˆ`;
}