Frontend/JavaScript

[JavaScript] ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ๋น„๊ตํ•ด ๋‚จ์€ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ(์ผ, ์‹œ, ๋ถ„, ์ดˆ)

_์„ฑํ˜ธ_ 2022. 5. 2. 11:02
728x90
๋ฐ˜์‘ํ˜•

ํ˜„์žฌ ์‹œ๊ฐ„๊ณผ ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ๋น„๊ตํ•ด ๋‚จ์€ ์‹œ๊ฐ„ ๊ตฌํ•˜๊ธฐ

function remaindTime(endDate) {
  // ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ตฌํ•œ๋‹ค.
  const now = new Date();
  // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ๊ฐ€์ ธ์˜จ๋‹ค.
  const end = new Date(endDate);

  // ํ˜„์žฌ ์‹œ๊ฐ„์„ ms๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  const nt = now.getTime();
  // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์„ ms๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  const et = end.getTime();

  // ๋งˆ๊ฐ ๊ธฐ๊ฐ„์ด ํ˜„์žฌ ์‹œ๊ฐ„๋ณด๋‹ค ํด ๊ฒฝ์šฐ
  if (nt < et) {
    sec = parseInt(et - nt) / 1000;
    days = parseInt(sec / 60 / 60 / 24);
    sec = sec - days * 60 * 60 * 24;
    hour = parseInt(sec / 60 / 60);
    sec = sec - hour * 60 * 60;
    min = parseInt(sec / 60);
    sec = parseInt(sec - min * 60);

    if (hour < 10) hour = '0' + hour;
    if (min < 10) min = '0' + min;
    if (sec < 10) sec = '0' + sec;

    return days + '์ผ ' + hour + '์‹œ๊ฐ„ ' + min + '๋ถ„ ' + sec + '์ดˆ';
  } else {
    return '์ข…๋ฃŒ';
  }
}

console.log('ํ˜„์žฌ ์‹œ๊ฐ„: ' + new Date());
console.log('๋‚จ์€ ์‹œ๊ฐ„: ' + remaindTime('2025-07-23T16:10:00'));

 

์ถœ๋ ฅ ๊ฒฐ๊ณผ

ํ˜„์žฌ ์‹œ๊ฐ„: Tue Jul 23 2024 16:09:33 GMT+0900 (Korean Standard Time)
๋‚จ์€ ์‹œ๊ฐ„: 365์ผ 00์‹œ๊ฐ„ 00๋ถ„ 26์ดˆ