J'ai un objet Date actuel qui doit être incrémenté d'un jour à l'aide de l'objet Date JavaScript. J'ai le code suivant en place:
var ds = stringFormat("{day} {date} {month} {year}", {
day: companyname.i18n.translate("day", language)[date.getUTCDay()],
date: date.getUTCDate(),
month: companyname.i18n.translate("month", language)[date.getUTCMonth()],
year: date.getUTCFullYear()
});
Comment puis-je y ajouter un jour?
J'ai ajouté +1 à getUTCDay()
et getUTCDate()
mais il n'affiche pas «dimanche» pour day
, ce que je m'attends à ce qu'il se produise.
javascript
frénétique
la source
la source
date: (date.getUTCDate()+1)
fonctionne pas (fonctionne pour moi)? Il est possible qu'il y ait un conflit de dénomination avecdate
(comme Date () - Object et comme Object-Key. Avez-vous essayé d'appeler Date () - Object différent?7 Apr
vous avez besoin (ce qui est pour moi «ajouter le lendemain»), c'est leSunday
. N'oubliez pas d'ajouter les+1
deux dansday:
etdate:
(ou, comme l'indique la réponse actuelle, avant).Réponses:
Pour ajouter un jour à un objet de date:
var date = new Date(); // add a day date.setDate(date.getDate() + 1);
la source
var a = new Date("2013-03-10T00:00:00.000Z");
a.setDate(a.getDate() + 1);
a.toISOString();
est"2013-03-10T23:00:00.000Z"
. C'est un cas subtil où la fonction ci-dessus n'a pas fonctionné pour moi.a.setUTCDate(a.getUTCDate() + 1);
<- cela fonctionne avec les dates zoulou.À mon humble avis, le meilleur moyen est d'ajouter simplement une journée complète en millisecondes, selon la façon dont vous factorisez votre code, cela peut gâcher si vous êtes le dernier jour du mois.
par exemple le 28 février ou le 31 mars.
Voici un exemple de la façon dont je le ferais:
var current = new Date(); //'Mar 11 2015' current.getTime() = 1426060964567 var followingDay = new Date(current.getTime() + 86400000); // + 1 day in ms followingDay.toLocaleDateString();
imo cela assure l'exactitude
voici un autre exemple je n'aime pas cela peut fonctionner pour vous mais pas aussi propre que la dose ci-dessus
var today = new Date('12/31/2015'); var tomorrow = new Date(today); tomorrow.setDate(today.getDate()+1); tomorrow.toLocaleDateString();
à mon humble avis === 'POOP'
Donc, certains d'entre vous ont eu des reproches à propos de mon approche à la milliseconde à cause de l'heure d'été. Alors je vais dénigrer ça. Premièrement, certains pays et états ne disposent pas de l'heure de la lumière du jour. Deuxième Ajouter exactement 24 heures est une journée complète. Si la dose de numéro de date ne change pas une fois par an, mais est ensuite fixée 6 mois plus tard, je ne vois pas de problème. Mais dans le but d'être précis et d'avoir à faire face à la mauvaise Date (), j'ai réfléchi à cela et maintenant je déteste complètement Date. C'est donc ma nouvelle approche
var dd = new Date(); // or any date and time you care about var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') ); // ["2016", "07", "04", "00", "17", "58.849Z"] at Z
Maintenant pour la partie amusante!
var date = { day: dateArray[2], month: dateArray[1], year: dateArray[0], hour: dateArray[3], minutes: dateArray[4], seconds:dateArray[5].split('.')[0], milliseconds: dateArray[5].split('.')[1].replace('Z','') }
maintenant, nous avons notre objet de date international valide officiel clairement écrit au méridien zoulou. Maintenant pour changer la date
dd.setDate(dd.getDate()+1); // this gives you one full calendar date forward tomorrow.setDate(dd.getTime() + 86400000);// this gives your 24 hours into the future. do what you want with it.
la source
var dte = Date.parse('2015-11-01'); console.log(dte); dte.setTime(dte.getTime() + 86400000 ); console.log(dte);
Si vous voulez ajouter un jour (24 heures) à la date / heure actuelle, vous pouvez ajouter des millisecondes comme ceci:
new Date(Date.now() + ( 3600 * 1000 * 24))
la source
int days = 1; var newDate = new Date(Date.now() + days*24*60*60*1000);
CodePen
var days = 2; var newDate = new Date(Date.now()+days*24*60*60*1000); document.write('Today: <em>'); document.write(new Date()); document.write('</em><br/> New: <strong>'); document.write(newDate);
la source
Inspiré par jpmottin dans cette question , voici le code en une ligne:
var dateStr = '2019-01-01'; var days = 1; var result = new Date(new Date(dateStr).setDate(new Date(dateStr).getDate() + days)); document.write('Date: ', result); // Wed Jan 02 2019 09:00:00 GMT+0900 (Japan Standard Time) document.write('<br />'); document.write('Trimmed Date: ', result.toISOString().substr(0, 10)); // 2019-01-02
J'espère que cela t'aides
la source
currentDay = '2019-12-06'; currentDay = new Date(currentDay).add(Date.DAY, +1).format('Y-m-d');
la source