Comment puis-je ajouter 10 secondes à un objet date javascript timeObject. Quelque chose comme ça je pense ..
var timeObject = new Date()
var seconds = timeObject.getSeconds() + 10;
timeObject = timeObject + seconds;
Il existe également une méthode setSeconds
:
var t = new Date();
t.setSeconds(t.getSeconds() + 10);
Pour obtenir une liste des autres fonctions Date
, vous devez vérifier MDN
setSeconds
gérera correctement les cas suivants:
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
// var timeObject = new Date();
new Date(timeObject.getTime() + 10000);
var 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 JavaScript?
Juste pour les maniaques de la performance parmi nous.
var d = new Date('2014-01-01 10:11:55');
d = new Date(d.getTime() + 10000);
5 196 949 Ops/sec, le plus rapide
var d = new Date('2014-01-01 10:11:55');
d.setSeconds(d.getSeconds() + 10);
2 936 604 Ops/s, 43% plus lent
var d = new moment('2014-01-01 10:11:55');
d = d.add(10, 'seconds');
22 549 Ops/sec, 100% plus lent
Alors peut-être que c'est le moins lisible (pas si mal), mais le moyen le plus rapide d'aller :)
Essaye ça
a = new Date();
a.setSeconds(a.getSeconds() + 10);
timeObject.setSeconds(timeObject.getSeconds() + 10)
J'ai quelques nouvelles variantes
var t = new Date(Date.now() + 10000);
var t = new Date(+new Date() + 10000);
L'objet Date()
en javascript n'est pas vraiment intelligent.
Si vous vous concentrez uniquement sur l'ajout de secondes, vous semblez gérer les choses en douceur, mais si vous essayez d'ajouter un nombre X de secondes, puis d'ajouter un nombre X de minutes et d'heures, etc., au même objet Date
, vous vous retrouvez dans le pétrin. Je me suis donc simplement contenté d'utiliser la méthode setSeconds()
et de convertir mes données en secondes (ce qui a bien fonctionné).
Si quelqu'un peut démontrer qu'il a ajouté du temps à un objet global Date()
en utilisant toutes les méthodes de l'ensemble et que l'heure finale est correctement affichée, j'aimerais le voir, mais j'ai l'impression qu'une méthode de l'ensemble doit être utilisée à la fois. sur un objet Date()
donné et les mélanger provoque un désordre.
var vTime = new Date();
var iSecondsToAdd = ( iSeconds + (iMinutes * 60) + (iHours * 3600) + (iDays * 86400) );
vTime.setSeconds(iSecondsToAdd);
Voici de la documentation supplémentaire qui pourrait aider :
vous pouvez utiliser la méthode setSeconds
en obtenant des secondes à partir d'aujourd'hui et en ajoutant simplement 10 secondes
var today = new Date();
today.setSeconds(today.getSeconds() + 10);
Vous pouvez ajouter 10 * 1000 millisecondes à la nouvelle date:
var today = new Date();
today = new Date(today.getTime() + 1000*10);
Vous pouvez utiliser setTime
:
today.setTime(now.getTime() + 10000)