2

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.

5

2 Answers 2

2
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)
    }
}
Sign up to request clarification or add additional context in comments.

Comments

0

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)
}
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.