我想像这样增加月份:
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 = "November";
$ scope.nextMonth(); 应设置$scope.month = "December";
注意:我无法使用任何外部库
答案 0 :(得分:5)
Angular没有内置任何内容来执行此操作,因此您需要使用本机Javascript Date方法。
但是,如果您在日期方面做了大量工作,我强烈建议moment.js。
这将使上述非常简单:
$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');
}
答案 1 :(得分:1)
仅工作数月
$scope.nextMonth = function(){
var index = $locale.DATETIME_FORMATS.MONTH.indexOf($scope.month);
$scope.month = $locale.DATETIME_FORMATS.MONTH[index == 11 ? 0 : index + 1];
}
答案 2 :(得分:0)
$scope.date = (new Date((new Date()).setMonth((new Date()).getMonth()
+ 1))).toLocaleDateString('fr-FR')