Comment ajouter 10 secondes à un objet date en JavaScript ?
Voici ce qu'il en est :
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
Comment ajouter 10 secondes à un objet date en JavaScript ?
Voici ce qu'il en est :
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
Il y a un setSeconds
également :
var t = new Date();
t.setSeconds(t.getSeconds() + 10);
Pour une liste des autres Date
fonctions, Vous devriez consulter MDN
setSeconds
traitera correctement les cas enveloppants :
var d;
d = new Date('2014-01-01 10:11:55');
alert(d.getMinutes() + ':' + d.getSeconds()); //11:55
d.setSeconds(d.getSeconds() + 10);
alert(d.getMinutes() + ':0' + d.getSeconds()); //12:05
Attention, mon installation Nodejs renvoie d.getSeconds() comme une chaîne de caractères. J'ai dû le changer en (+d.getSeconds()) Le plus unaire convertit une chaîne en un nombre. Peut-être un peu plus évident serait 1*d.getSeconds()
@tqwhite, typeof new Date().getSeconds()
retours 'number'
dans node, donc je pense que vous avez d'autres problèmes (à moins que vous ne soyez sur une version obsolète de node ou quelque chose comme ça).
Essayez de faire d.setSeconds(d.getSeconds() - 92);
et vous obtiendrez une différence de 2'32" au lieu de 1'32". La solution avec new Date(d.getTime() - 92*1000);
fonctionne cependant !
... et la raison pour laquelle vous avez ajouté 10000 est que les dates Javascript fonctionnent en millisecondes, c'est-à-dire 10000 = 10 * 1000
Le + qui précède timeObject est nécessaire car il transforme timeObject en nombre. C'est donc comme timeObject.getTime() dans la réponse de Ron
Petite astuce un peu évidente : si vous ajoutez des secondes à la date actuelle, vous pouvez raccourcir un peu le code en utilisant Date.now()
. Exemple : const timeObject = new Date(Date.now() + milliseconds);
const timeObject = new Date();
timeObject = new Date(timeObject.getTime() + 1000 * 10);
console.log(timeObject);
Veuillez également vous référer : Comment ajouter 30 minutes à un objet Date en JavaScript ?
Oui, c'est la bonne réponse. Malheureusement, Google renvoie à cette question si l'on cherche "javascript date add seconds" et la réponse la plus votée est fausse.
Quelqu'un peut-il expliquer ce qui ne va pas dans la réponse sélectionnée (actuellement de @zzzzBov) ? Elle fonctionne pour moi.
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.
4 votes
Ou si vous voulez le faire via le constructeur - new Date(new Date().getTime() + 10000)
2 votes
Duplicata possible de Comment ajouter 30 minutes à un objet Date en JavaScript ?
0 votes
Vous pouvez aussi simplement
new Date(+timeObject + seconds * 1000)