JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div id="result">
</div>
</div>
<button onclick="start()">Start</button>
CSS
.container{
display:flex;
flex-direction:row;
}
JavaScript
function start() {
let duration = 2;
let endTime = new Date();
endTime.setMinutes(endTime.getMinutes() + duration);
let min = duration;
sec = 0;
let resultDiv = document.getElementById("result");
let interval = setInterval(() => {
sec--;
if (sec == -1) {
sec = 59;
min--;
}
resultDiv.innerHTML = min.toLocaleString('en-US', {
minimumIntegerDigits: 2,
useGrouping: false
}) + ":" + sec.toLocaleString('en-US', {
minimumIntegerDigits: 2,
useGrouping: false
});
if ((min == 0) && (sec == 0)) {
clearInterval(interval);
}
}, 1000);
}