133 votes

Comment mesurer le temps écoulé sur Javascript?

J'ai créé un jeu simple où un utilisateur doit cliquer sur des cases. Le jeu se termine lorsque l'utilisateur a fini de cliquer sur 16 cases.

Je veux mesurer le temps écoulé pour que l'utilisateur termine le jeu. Comment faire en utilisant Javascript?

J'ai jeté un œil à différentes réponses, mais j'ai eu du mal à comprendre le code personnalisé.

Timer Start: lorsque l'utilisateur clique sur la première case

Fin du minuteur: lorsque l'utilisateur clique sur la dernière case

241voto

Weedoze Points 9196

L' Date documentation :

Le JavaScript date est basée sur une valeur de temps est de quelques millisecondes depuis minuit, le 1er janvier 1970 UTC

Cliquez sur le bouton démarrer puis sur le bouton fin. Il va vous montrer le nombre de secondes entre les 2 clics.

Les millisecondes diff est dans la variable timeDiff. Jouer avec elle pour trouver des secondes/minutes/heures/ ou ce que vous avez besoin

var startTime, endTime;

function start() {
  startTime = new Date();
};

function end() {
  endTime = new Date();
  var timeDiff = endTime - startTime; //in ms
  // strip the ms
  timeDiff /= 1000;

  // get seconds 
  var seconds = Math.round(timeDiff);
  console.log(seconds + " seconds");
}
<button onclick="start()">Start</button>

<button onclick="end()">End</button>

2voto

 var seconds = 0;
setInterval(function () {
  seconds++;
}, 1000);
 

Voilà, vous avez maintenant une variable comptage des secondes écoulées. Puisque je ne connais pas le contexte, vous devrez décider si vous voulez attacher cette variable à un objet ou la rendre globale.

Définir l'intervalle est simplement une fonction qui prend une fonction comme premier paramètre et un nombre de millisecondes pour répéter la fonction comme deuxième paramètre.

Vous pouvez également résoudre ce problème en économisant et en comparant les temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X