Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs下一天和前一天、年、月_Javascript_Angularjs_Date_Filter - Fatal编程技术网

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');我的答案告诉你:s
var 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');