Quelle est la façon la plus simple pour décrémenter une date en Javascript en 1 jour?
-
09-06-2019 - |
Question
J'ai besoin de décrémenter un Javascript date de 1 jour, de sorte qu'il roule en arrière à travers les mois/années correctement.C'est, si j'ai une date d'aujourd'Hui, je veux obtenir la date du jour d'Hier.
Il semble toujours à prendre plus de code que nécessaire quand je le fais, alors je me demandais si il y a un moyen plus simple.
Quelle est la façon la plus simple de faire cela?
[Edit:Juste pour éviter toute confusion dans la réponse ci-dessous, c'est un JavaScript question, pas une Java un.]
La solution
var d = new Date();
d.setDate(d.getDate() - 1);
console.log(d);
Autres conseils
var today = new Date();
var yesterday = new Date().setDate(today.getDate() -1);
day.setDate(day.getDate() -1); //will be wrong
ce sera le retour de mauvais jour.en vertu de l'UTC -03:00, check pour
var d = new Date(2014,9,19);
d.setDate(d.getDate()-1);// will return Oct 17
Meilleure utilisation:
var n = day.getTime();
n -= 86400000;
day = new Date(n); //works fine for everything
getDate()-1
devrait faire l'affaire
Exemple rapide:
var day = new Date( "January 1 2008" );
day.setDate(day.getDate() -1);
alert(day);
origDate = new Date();
decrementedDate = new Date(origDate.getTime() - (86400 * 1000));
console.log(decrementedDate);
setDate(dayValue)
dayValue
est un entier de 1 à 31, représentant le jour du mois.
à partir de https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date/setDate
Le comportement de la résolution de votre problème (et le mien) semble être hors de la gamme de spécifications.
Ce qui semble être nécessaires sont addDate(), addMonth(), addYear() ...fonctions.
Travailler avec des dates en JS peut être un mal de tête.Donc, la façon la plus simple est d'utiliser moment.js pour la date des opérations.
Pour soustraire un jour:
const date = moment().subtract(1, 'day')