Je travaille sur un projet de site Web de bus et les bus courent toutes les heures. J'ai du mal à créer un widget qui trouve le temps passé entre maintenant et la prochaine heure, de sorte qu'il soit clair lorsque le prochain bus fonctionnera. Mon client exige qu'il soit en JavaScript. Aucune suggestion? Merci d'avance. P>
5 Réponses :
Vous avez l'objet de date dans JavaScript, vous pouvez faire quelque chose comme: Bien sûr, vous devrez travailler davantage sur ces calculs, mais c'est comme ça que vous travaillez avec le temps dans JavaScript < / p> p>
function getMinutesUntilNextHour() { return 60 - new Date().getMinutes(); }
Note that people who's system clocks are off will miss their bus. It might be better to use the server time instead of the time on the client's computer (AKA at least partly a non-client-side-javascript solution).
L'une des deux autres réponses fonctionnera bien, mais êtes-vous au courant des documents dont vous disposez de toutes les autres choses de belles choses que JS peut faire pour vous? p>
https://developer.mozilla.org/fr/javascript/javaScript/javaScript/Reference/ Global_objects / date p>
Beaucoup de réponses, une fonction vraiment simple pour que les minutes arrondies restantes à la prochaine heure sont les suivantes:
function minsToHour() {
return 60 - Math.round(new Date() % 3.6e6 / 6e4);
}
Il ne serait-il pas plus logique de soustraire date # getminutes () code> à partir de 60 plutôt que l'approche ici? Il est difficile de dire ce qui se passe, je suis sûr que c'est hors d'une minute, et cela échoue pour des dates loin dans le passé. De plus, l'approche getminutes code> est moins de code pour écrire et plus facile à retenir.
Pourquoi les gens attendraient-ils des bus "loin dans le passé"? Quoi qu'il en soit, c'est juste une autre façon de le faire. Les arrondis ci-dessus, donc dans les 30 dernières secondes, il devrait indiquer 0, en utilisant getmintus () i> montrera 0 dans la dernière minute, à moins que vous ne traitez pas de secondes. Mais je doute que cela compte de toute façon, à quel point les bus collent exactement à l'horaire?
Pour connaître exactement les Milisecondes à partir de maintenant l'heure suivante:
function msToNextHour() {
return 3600000 - new Date().getTime() % 3600000;
}
Quel code avez-vous jusqu'à présent?
Vous n'avez pas vraiment besoin du temps avant la prochaine heure, vous avez besoin du temps plus un delta, sauf s'il n'y a que un i> arrêtez-vous sur la route de bus et le bus l'arrive exactement à l'heure.