EL-Mehdi Loukach
EL-Mehdi Loukach

Reputation: 772

How to control number display format using Javascript?

I have a Javascript function that displays a time counter as the following : 0:0 and 0:1. But I actually want it to be displayed like this : 00:00 and 00:01.

Here is the code :

var interval = null;
var time = 0
function increaseTimer() {
    // increase and print timer
    time++
    console.log(new Date() + ' ' + 'timer: ' + parseInt(time / 60, 10) + ':' + parseInt(time % 60, 10))
    // condition of a process
    if (time % 5 == 0) {
        // some process
    }
    // stop simulation after 30s
    if (time == 30) {
        clearInterval(interval)
    }
}

I call this function with interval variable : interval = setInterval(increaseTimer, 1000)

What should I change in my code to make it work ? Thanks in advance.

Upvotes: 2

Views: 150

Answers (2)

Mohsen Alyafei
Mohsen Alyafei

Reputation: 5577

You can simplify the code as follows:

let interval = null,
        time = 0;
function increaseTimer() {
time++;   // increase and print timer
console.log(new Date()+' '+'timer: '+("0"+~~(time / 60)).slice(-2)+':'+("0"+time % 60).slice(-2));
if (time % 5 == 0) {   // condition of a process
    // some process
}
if (time == 30) {      // stop simulation after 30s
    clearInterval(interval)
}
}

Upvotes: 0

Manish Purohit
Manish Purohit

Reputation: 58

var interval = null;
var time = 0
function increaseTimer() {
    // increase and print timer
    time++
    let prefix = parseInt(time / 60, 10)
    let postfix = parseInt(time % 60, 10)
    prefix = prefix <= 9 ? "0" + prefix.toString() : prefix.toString();
    postfix = postfix <= 9 ? "0" + postfix.toString() : postfix.toString();
    console.log(new Date() + ' ' + 'timer: ' + prefix  + ':' + postfix )
    // condition of a process
    if (time % 5 == 0) {
        // some process
    }
    // stop simulation after 30s
    if (time == 30) {
        clearInterval(interval)
    }
}

Upvotes: 2

Related Questions