javascript를 사용한 간단한 날짜 카운트다운

Last Updated: 2023년 07월 17일 | | 13개 댓글

자바스크립트를 사용한 날짜 카운트다운 스크립트입니다(예: 2017년 새해까지 남은 일 수 등). 간단하게 활용할 수 있을 것 같습니다.

javascript를 사용한 간단한 날짜 카운트다운 예시

CountDownTimer('01/01/2017', 'countdown'); // 2017년 1월 1일까지
CountDownTimer('01/01/2018 00:00 AM', 'newcountdown'); // 2018년 1월 1일까지, 시간을 표시하려면 01:00 AM과 같은 형식을 사용합니다.

function CountDownTimer(dt, id)
{
var end = new Date(dt);

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;

function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {

clearInterval(timer);
document.getElementById(id).innerHTML = 'EXPIRED!';

return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);

document.getElementById(id).innerHTML = days + '일 ';
document.getElementById(id).innerHTML += hours + '시간 ';
document.getElementById(id).innerHTML += minutes + '분 ';
document.getElementById(id).innerHTML += seconds + '초';
}

timer = setInterval(showRemaining, 1000);
}
// Source: stackoverflow

카운트다운을 표시하려면 다음과 같은 HTML 코드를 사용합니다.

<div id="countdown"></div>
<div id="newcountdown"></div>

아래 jsfiddle에서 실제 작동을 확인해볼 수 있습니다. CSS를 사용하여 스타일을 조정해주면 나름대로 심플하고 괜찮을 것 같습니다.

또는 "EASY COUNTDOWN TO DATE WITH JAVASCRIPT & JQUERY(자바스크립트와 jQuery를 사용한 쉬운 날짜 카운트다운)"에 나와 있는 스크립트를 사용해볼 수 있습니다.

또, 이 글에 소개된 jQuery 스크립트를 사용하면 레이아웃이 괜찮은 날짜 카운트다운을 사이트에 추가할 수 있습니다. (글이 작성된지 오래되어 연결 안 되는 링크도 있습니다.) 아래 그림과 같이 "Source"를 클릭하면 소스를 다운로드받을 수 있습니다(링크가 깨진 것도 있음).

Countdown 카운트다운 예시

이러한 스크립트를 사용하면 서비스를 릴리스할 날짜까지 남은 일 수나 사이트 오픈까지 남은 일 수 등을 표시하는 것도 가능합니다. 이와 같은 기능을 하는 PHP 스크립트를 이용하면 더 깔끔하게 표시하는 것이 가능합니다.

PHP 스크립트/자바스크립트 템플릿:

기능을 직접 구현하는 것에 어려움을 겪거나 시간이 많이 소요되는 경우 다양한 PHP 스크립트, 자바스크립트 템플릿, JQuery 템플릿, CSS 코드, 워드프레스 플러그인 등을 판매하는 CodeCanyon에서 비교적 저렴한 가격에 PHP 스크립트나 Javascript/jQuery 템플릿을 구입할 수 있습니다.

코드캐년에서 판매되는 javascript/jQuery 템플릿
CodeCanyon에서 판매되는 javascript/jQuery 템플릿

참고


13 개 댓글

Leave a Comment

  1. 저는 시간만 표시를 하게 했는데 예를 들면 '5500시간 남았습니다'가 아니라 '5,500시간 남았습니다'로 3자리 마다 점을 찍고 싶은데 어떻게 하면 되나요ㅠㅠ (시간만 표시하는 법도 댓글 다신 것 보고 했어요! 감사합니다!)

    응답
  2. 예제 확인해보니
    CountDownTimer('2020-05-15', 'countdown'); // 시작점
    CountDownTimer('2020-05-15', 'newcountdown'); // 끝나는곳
    이렇게 하니 잘 작동하는데요

    CountDownTimer('2020-05-15 13:44:55', 'countdown'); // 시작점
    CountDownTimer('2020-05-15 21:10:00', 'newcountdown'); // 끝나는곳
    이렇게 뒤에 시간을 표시하면 에러가 뜨네요

    확인해보니 CountDownTimer('2020-05-08T12:00:00Z', 'countdown'); // 시작점
    이렇게하니 정상작동을 하는데요

    제가 하고싶은건 DB값을 불러와서 하고싶습니다

    DB 값은 2020-04-08 23:30:00 이형식으로 저장이 되어있더라구요

    이방식으론 에러가 날까요? 아님 그냥 DB값 불러봐서 호출이 가능할까요?

    응답
  3. 안녕하세요
    CountDownTimer('05/13/2020', 'countdown'); // 시작점
    CountDownTimer('05/17/2020 00:00 AM', 'newcountdown'); // 끝나는곳
    이부분을
    CountDownTimer('2020-05-15', 'countdown'); // 시작점
    CountDownTimer('2020-05-15 00:00 AM', 'newcountdown'); // 끝나는곳
    이렇게 하려고 합니다

    해보니 에러가 나는데 다른 방법이 있을까요?

    응답
할인 소식
Divi 레이아웃 AI 출시 기념 할인!
AI로 이미지, 텍스트, 코딩, 전체 페이지 레이아웃 생성 가능
베스트셀링 워드프레스 테마 Divi
0
0
시간
0
0
Limited Time Offer
You This Coupon Code in Checkout
Click the code to Copy