Date de mise en forme utilisant angulaire
Question
Pourquoi le code suivant produit une sortie étrange (ressemble à un moment (). ValeurOf () retourne 0)
Since 7 days ago : {{(moment().valueOf() - 7*24*60*60*1000) | date:'yyyy-MM-dd' }}
retourne
Since 7 days ago : 1969-12-25
La solution
Vous pouvez le faire avec moment API:
moment().subtract('days', 7).format("YYYY-MM-DD")
Travail Jsfiddle: http://jsfiddle.net/d9ucf/1/
Autres conseils
C'est parce que:
Moment # Valueof génère simplement le nombre de millisecondes depuis la Epoch Unix, juste comme date # ValueOf.
Un moyen d'atteindre ce que vous voulez, c'est comme suit:
Since 7 days ago: <span ng-bind="sevenDaysAgo"></span>
$scope.sevenDaysAgo = moment(new Date(new Date().setDate(new Date().getDate() - 7))).format('YYYY-MM-DD');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow