使用Angular格式化日期

时间:2014-06-04 07:04:26

标签: angularjs momentjs

为什么以下代码会产生奇怪的输出(看起来像moment()。valueOf()返回0)

Since 7 days ago : {{(moment().valueOf()  - 7*24*60*60*1000)  | date:'yyyy-MM-dd' }}

返回

Since 7 days ago : 1969-12-25

2 个答案:

答案 0 :(得分:2)

您可以使用时刻API:

moment().subtract('days', 7).format("YYYY-MM-DD")

工作jsfiddle:http://jsfiddle.net/D9UCF/1/

答案 1 :(得分:2)

这是因为:

  

时刻#valueOf只输出自以后的毫秒数   Unix Epoch,就像Date#valueOf。

[http://momentjs.com/docs/]

实现目标的一种方法如下:

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');