Home > Back-end >  Convert seconds to milliseconds - javascript
Convert seconds to milliseconds - javascript

Time:01-11

I have just started to learn javascript today and i'm trying to work out how i can convert seconds to milliseconds.

I tried to find something that would help me but everything i find is converting milliseconds to minutes or hours.

let str = 'You must wait 140 seconds before changing hands';
let timer = 0;
let num = str.match(/\d/g).join("");
timer = num;

console.log(timer);

setTimeout(() => {
  console.log('time done')
}, timer);

I'm trying to extract the numbers from string and convert it to milliseconds for a setTimeout.

CodePudding user response:

  • Here is a better regex /(\d ) seconds?/ - the ? means the s is optional
  • 1 second is 1000 milliseconds as the word tells us

let str = 'You must wait 140 seconds before changing hands';
let timer = str.match(/(\d ) seconds?/)[1]*1000; // grab the captured number and multiply by 1000
console.log(timer)
setTimeout(() => {
  console.log('time done')
}, timer);

Here is a countdown

let str = 'You must wait 10 seconds before changing hands';
const span = document.getElementById("timer");
let tId = setInterval(() => {
  let timeLeft =  str.match(/(\d ) seconds?/)[1]; // optional s on seconds
  if (timeLeft <= 1) {
    str = "Time's up";
    clearInterval(tId);
  }  
  else str = str.replace(/\d  seconds?/,`${--timeLeft} second${timeLeft == 1 ? "" : "s"}`)
  span.innerHTML = str;
}, 1000);
<span id="timer"></span>

CodePudding user response:

let str = 'You must wait 140 seconds before changing hands';
let seconds = /\d /.exec(str)[0];
// milliseconds = seconds * 1000;
const ms = seconds * 1000;

setTimeout(
 () => {// doSomething},
 ms
);
``

  •  Tags:  
  • Related