902 votes

Comment ajouter 30 minutes à un objet Date javascript?

Je voudrais obtenir un objet Date qui est 30 minutes plus tard qu'un autre objet Date. Comment l'atteindre?

1081voto

Kip Points 37013

C'est comme le chaos de la réponse, mais en une seule ligne:

var newDateObj = new Date(oldDateObj.getTime() + diff*60000);

diff est la différence en quelques minutes, vous voulez à partir d' oldDateObj's le temps. Il peut même être négatif.

Ou réutilisables fonction, si vous avez besoin de faire cela à plusieurs endroits:

function addMinutes(date, minutes) {
    return new Date(date.getTime() + minutes*60000);
}

Un mot de prudence

Ne pas utiliser cela pour essayer d'ajouter jours. Par exemple:

addMinutes(myDate, 60*24); //DO NOT DO THIS

Si l'utilisateur constate une heure, une journée n'est pas nécessairement 24 heures-il y a un seul jour de l'année, qui est à seulement 23 heures, et un seul jour de l'année est de 25 heures. Par exemple, dans la plupart des États-unis et au Canada, 24 heures après minuit, le 2 Novembre 2014, est encore Nov-2:

addMinutes(new Date(2014,10,2), 60*24); //prints 11pm on Nov 2, not 12am Nov 3!

Au lieu de cela, vous pouvez utiliser ceci:

function addDays(date, days) {
  var d2 = new Date(date);
  d2.setDate(d2.getDate() + days);
  return d2;
}

286voto

Jamie Points 1976
var d1 = new Date (),
    d2 = new Date ( d1 );
d2.setMinutes ( d1.getMinutes() + 30 );
alert ( d2 );

186voto

chaos Points 69029
var newDateObj = new Date();
newDateObj.setTime(oldDateObj.getTime() + (30 * 60 * 1000));

118voto

Teo Graca Points 161
var now = new Date();
now.setMinutes(now.getMinutes() + 30);

55voto

Tyler Carter Points 30030

Peut-être quelque chose comme ça?


var d = new Date ();
var v = new Date ();
v.setMinutes (d.getMinutes () +30);

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