Je voudrais qu'une variable contienne la date d'hier au format DD-MM-YYYY
utilisant Moment.js. Donc, si aujourd'hui est 15-04-2015, je voudrais soustraire un jour et avoir 14-4-2015.
J'ai essayé quelques combinaisons comme celle-ci:
startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');
et ça:
startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');
et aussi ceci:
startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')
Mais je ne comprends pas ...
javascript
date
momentjs
Beaumondo
la source
la source
format()
est la fonction qui en fait une chaîne. Vous devriez faire cela en dernier.Réponses:
Vous avez plusieurs bizarreries qui se produisent. Le premier a été modifié dans votre message, mais il avait à voir avec l'ordre dans lequel les méthodes étaient appelées.
.format
renvoie une chaîne. String n'a pas desubtract
méthode.Le deuxième problème est que vous soustrayez le jour, mais ne l'enregistrez pas réellement en tant que variable.
Votre code devrait donc ressembler à ceci:
Cependant, vous pouvez enchaîner cela; cela ressemblerait à:
La différence est que nous définissons la date de début des modifications que vous effectuez à la date de début, car le moment est destructeur.
la source
subtract
est en fait destructeur. "Mute le moment original en soustrayant le temps". Voir ici: momentjs.com/docs/#/manipulating/subtractla source
Essaye ça:
Cela vous donnera
14-04-2015
- aujourd'hui est 15-04-2015Alternativement, si votre version momentjs est inférieure à 2.8.0, vous pouvez utiliser:
Au lieu de cela:
la source
startdate = moment().subtract(1, 'days').startOf('day')
la source
Je pense que vous l'avez compris lors de cette dernière tentative, il vous suffit de saisir la chaîne ... dans la console de Chrome ...
la source
Dans angularjs moment = "^ 1.3.0"
la source
Maintenant, vous pouvez formater comment vous voulez voir cette date ou vous pouvez comparer cette date avec une autre, etc.
La fonction toDate () est le point.
la source