0

I'm working on countdown it's working fine actually now I want to add 0 from 0-9 single digit every single digit I want to append 0. Now it is coming with a single digit like 6 hrs I want to be 06 hrs. Can anyone suggest to me.

const second = 1000,
  minute = second * 60,
  hour = minute * 60,
  day = hour * 24;

let countDown = new Date('July 17, 2019 00:00:00').getTime(),
  x = setInterval(function() {

    let now = new Date().getTime(),
      distance = countDown - now;

    document.getElementById('days').innerText = Math.floor(distance / (day)),
      document.getElementById('hours').innerText = Math.floor((distance % (day)) / (hour)),
      document.getElementById('minutes').innerText = Math.floor((distance % (hour)) / (minute)),
      document.getElementById('seconds').innerText = Math.floor((distance % (minute)) / second);
  }, second)
if (second < 10 && minute < 10 && hour < 10 && day < 10) {
  countDown = "0" + countDown;
}
.popup-counter {
 display: flex;
 }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<div class="popup-counter">
  <div class="counter-timings">
    <div class="counter" id="days"></div>
    <h4>Days</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="hours"></div>
    <h4>Hours</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="minutes"></div>
    <h4>Minutes</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="seconds"></div>
    <h4>Seconds</h4>
  </div>
</div>
Husna
  • 1,286
  • 4
  • 19
  • 48

1 Answers1

1

Try like this.

Assign the values to the variable and check like it is less than 10 add a zero before it else leave as it is.

(hours < 10)?'0'+hours:hours,

const second = 1000,
  minute = second * 60,
  hour = minute * 60,
  day = hour * 24;

let countDown = new Date('July 17, 2019 00:00:00').getTime(),
  x = setInterval(function() {

    let now = new Date().getTime(),
      distance = countDown - now;
    var hours =  Math.floor((distance % (day)) / (hour));
    var days =  Math.floor(distance / (day));
    var minutes =  Math.floor((distance % (hour)) / (minute));
    var seconds =  Math.floor((distance % (minute)) / second);
    document.getElementById('days').innerText = (days < 10 )?'0'+days:days,
      document.getElementById('hours').innerText = (hours < 10)?'0'+hours:hours,
      document.getElementById('minutes').innerText = (minutes < 10)?'0'+minutes:minutes,
      document.getElementById('seconds').innerText = (seconds < 10)?'0'+seconds:seconds;
  }, second)
if (second < 10 && minute < 10 && hour < 10 && day < 10) {
  countDown = "0" + countDown;
}
.popup-counter {
 display: flex;
 }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<div class="popup-counter">
  <div class="counter-timings">
    <div class="counter" id="days"></div>
    <h4>Days</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="hours"></div>
    <h4>Hours</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="minutes"></div>
    <h4>Minutes</h4>
  </div>
  <div class="counter-timings">
    <div class="counter" id="seconds"></div>
    <h4>Seconds</h4>
  </div>
</div>
Syed mohamed aladeen
  • 6,507
  • 4
  • 32
  • 59
  • 1
    Mohammed Aladeen yeah this is what I need actually I have tried like you below condition but I didn't add the condition in dom. thanks – Husna May 30 '19 at 09:57