Javascript - Obtenir la date des mois précédents


Answers

Il suffit de soustraire le nombre de mois du paramètre month et ne vous inquiétez pas si la valeur va être négative. Il sera géré correctement.

new Date(2014, 0, 1) // 1st Jan 2014
new Date(2014, -1, 1) // 1st Dec 2013
Question

Si j'ai une variable qui renvoie une date, dans le format de jj MMM yyyy, donc le 28 août 2014, comment puis-je obtenir la date du mois précédent.

Je peux modifier le mois via:

$scope.DateMapping = function (months) {

    var myVariable = "28 Aug 2014"
    var makeDate = new Date(myVariable);
    prev = new Date(makeDate.getFullYear(), makeDate.getMonth()+1, 1);

});

Essentiellement, cela en ajoute un au mois .. Mais comment puis-je comptabiliser des années, donc si la date actuelle est le 12 décembre 2014, la précédente serait le 12 janvier 2013?

Mon application utilise AngularJS peut faire usage de filtres.

METTRE À JOUR:

    var myVariable = "28 Aug 2014"
    var makeDate = new Date(myVariable);
    var prev = new Date(makeDate.getFullYear(), makeDate.getMonth()+1, makeDate.getMonth());

    console.log(myVariable)
    console.log(makeDate)
    console.log(prev)

Output:

    28 Aug 2014
    Thu Aug 28 2014 00:00:00 GMT+0100 (GMT Standard Time)
    Mon Sep 01 2014 00:00:00 GMT+0100 (GMT Standard Time)

Comment se fait-il bien que le mois ait augmenté, le jour montre comme 01 au lieu de 28?