JSFiddle - React, Tailwind, and code Playground

by pradeep

HTML

<div class="countdown"></div>

JavaScript

//declare start time
var timer2 = "20:40:15";

//intercal for seconds
var interval = setInterval(function() {
  //timer will be [hour, minute, second]
  var timer = timer2.split(':');
  var hours = parseInt(timer[0], 10);
  var minutes = parseInt(timer[1], 10);
  var seconds = parseInt(timer[2], 10);
  //reduce second by one
  --seconds;
  //calculate new minute and hours
  minutes = (seconds < 0) ? --minutes : minutes;
  hours = minutes < 0 ? --hours : hours;

  if (hours < 0) {
    clearInterval(interval);
    return;
  }

  seconds = (seconds < 0) ? 59 : seconds;
  seconds = (seconds < 10) ? '0' + seconds : seconds;
  minutes = (minutes < 0) ? 59 : minutes;
  minutes = (minutes < 10) ? '0' + minutes : minutes;
  
  timer2 = hours + ':' + minutes + ':' + seconds;
  $('.countdown').html(timer2);
  
}, 1000);