Je voudrais obtenir un objet Date qui est 30 minutes plus tard qu'un autre objet Date. Comment l'atteindre?
Réponses
Trop de publicités?C'est comme le chaos de la réponse, mais en une seule ligne:
var newDateObj = new Date(oldDateObj.getTime() + diff*60000);
Où 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;
}