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