Angular.js日期过滤器显示提前一个月

Angular.js date filter showing month ahead?

本文关键字:一个 日期 js 过滤器 显示 Angular      更新时间:2023-09-26

查看文档,我不知道如何轻松地将下个月添加到这样的内容中:

{{ item.lastUpdateDay|date : 'MMMM' }}

似乎我应该能够添加一个(+)或(-)来得到它。因此,如果基于今天的日期,传统上它将显示'September',但我希望它读取该日期并显示下一个月。

我在这里错过了什么?

谢谢。

如果你有很多关于日期的工作,我建议使用moment.js

如果没有,你应该从控制器中执行,像这样:

$scope.updateDate = function(){
  date.setMonth(date.getMonth() + 1);
  return $scope.lastUpdateDay = $filter('date')(date, 'MMMM');
}

或者,如果您喜欢内联方法,您可以创建自己的日期过滤器:

angular
   .module('myApp')
   .filter('myDate', myDate);
function myDate($filter){
   return function(date, format){  
   date.setMonth(date.getMonth()+1);
   return $filter('date')(date, format);
  }
}

在你的模板中:

{{lastUpdateDate | myDate: 'MMMM'}}

不要忘记在你自己的过滤器上使用两个字母前缀(my here…)