Javascript 角度js-在$scope中的增量月数

Javascript 角度js-在$scope中的增量月数,javascript,angularjs,date,filter,Javascript,Angularjs,Date,Filter,我想这样增加一个月: var date = new Date(); $scope.month = $filter('date')(date, 'MMMM'); $scope.nextMonth = function () { //set next month $scope.month = $filter('date')(new Date($scope.month).getMonth()+1, 'MMMM'); };

我想这样增加一个月:

 var date = new Date();
    $scope.month = $filter('date')(date, 'MMMM');
    $scope.nextMonth = function () {                
     //set next month
     $scope.month = $filter('date')(new Date($scope.month).getMonth()+1, 'MMMM');
    };
我怎样才能做到这一点

例如,如果

$scope.month=“11月”

$scope.nextMonth()应设置
$scope.month=“12月”

注:我不能用任何外部图书馆来做这个


Angular没有任何内置功能,因此需要使用本机Javascript方法

但是,如果你在约会方面做了很多工作,我强烈建议你

这将使上述问题变得极其简单:

$scope.month = moment().format('MMMM')
$scope.nextMonth = function(){
    $scope.month.add(1, 'month');
}
编辑:

不使用外部库,您仍然可以这样做,并且您几乎拥有以下代码:

$scope.nextMonth = function(){
  date.setMonth(date.getMonth() + 1);
  return $scope.month = $filter('date')(date, 'MMMM');
}
只能工作几个月

$scope.nextMonth = function(){
  var index = $locale.DATETIME_FORMATS.MONTH.indexOf($scope.month);
  $scope.month = $locale.DATETIME_FORMATS.MONTH[index == 11 ? 0 : index + 1];
}

抱歉,我忘了说我没有使用moment.js,我无法使用它:Pnope您正在基于当前月份设置+1个月,而不是基于范围。月份:Pi需要每次增加范围。月份不是当前月份;)好的,您正在将
$scope.month
设置为一个字符串,因此可以将其转换回基于该字符串的日期,然后添加一个月,或者同时保存一个字符串(
$scope.month.name
)和一个日期对象(
$scope.month.date
),并从那里开始工作……此外,除非您在其他地方更改
$scope.month
date
$scope.month
。此行
var date=new date()仅运行一次。
 $scope.date = (new Date((new Date()).setMonth((new Date()).getMonth()
 + 1))).toLocaleDateString('fr-FR')