Javascript Angularjs下一天和前一天、年、月
使用角度日期Javascript Angularjs下一天和前一天、年、月,javascript,angularjs,date,filter,Javascript,Angularjs,Date,Filter,使用角度日期$filter实际上我可以得到当前的日、年和月 但是,如何获取下一个和上一个日、年、月 这是我写的代码,但我不知道从哪里开始 $scope.month = $filter('date')(date, 'MMMM');//December-November like $scope.day = $filter('date')(date, 'dd'); //01-31 like $scope.year = $filter('date')(date,'yyyy');//2014 like
$filter
实际上我可以得到当前的日、年和月
但是,如何获取下一个和上一个日、年、月
这是我写的代码,但我不知道从哪里开始
$scope.month = $filter('date')(date, 'MMMM');//December-November like
$scope.day = $filter('date')(date, 'dd'); //01-31 like
$scope.year = $filter('date')(date,'yyyy');//2014 like
$scope.nextYear = Number($scope.year) + 1;
$scope.prevYear = Number($scope.year) - 1;
$scope.nextDay = ?
etc...
你有什么想法吗?你可以这样做,angular date$filter并没有提供任何更简单的方法,它只是将日期格式化为自定义的所需格式 日期: 月份:
var previousMonth = new Date(myDate);
previousMonth.setMonth(myDate.getMonth()-1);
var nextMonth = new Date(myDate);
nextMonth.setMonth(myDate.getMonth()+1);
年份:
如果您打算经常这样做,我建议您创建一个服务来实现此逻辑。您可以使用
http://www.datejs.com/
plugin:)或http://momentjs.com/docs/
:)+1使用moment.js,您将节省时间,简化代码,并正确使用技巧@benek nah我正在建立一个指令,它必须在没有帮助的情况下工作;)@您是否知道如何增加月份,例如$scope.month=$scope.month+1?我尝试了类似$scope.month=$filter('date')(新日期($scope.month.getMonth()+1,'MMMM');我的答案告诉你:svar nextMonth=新日期(Date)$scope.nextMonth=$filter('date')(nextMonth.setDate(date.getMonth()+1),'MMMM')
在将getYear()
方法更改为getFullYear()
后,我能够完成这项工作getYear()
返回自1900年以来的年数,已弃用。
var previousMonth = new Date(myDate);
previousMonth.setMonth(myDate.getMonth()-1);
var nextMonth = new Date(myDate);
nextMonth.setMonth(myDate.getMonth()+1);
var previousYear = new Date(myDate);
previousYear.setYear(myDate.getFullYear()-1);
var nextYear = new Date(myDate);
nextYear.setYear(myDate.getFullYear()+1);
$scope.month = $filter('date')(myDate, 'MMMM');//December-November like
$scope.day = $filter('date')(myDate, 'dd'); //01-31 like
$scope.year = $filter('date')(myDate,'yyyy');//2014 like
$scope.nextDay = $filter('date')(nexyDay, 'dd');
$scope.prevDay = $filter('date')(previousDay, 'dd');
$scope.nextMonth = $filter('date')(nextMonth, 'MMMM')
$scope.prevMonth = $filter('date')(previousMonth, 'MMMM')
$scope.nextYear = $filter('date')(nextYear,'yyyy');
$scope.prevYear = $filter('date')(previousYear,'yyyy');