2014-09-08 7 views
8

कोणीय दिनांक $filter का उपयोग करके वास्तव में मैं वर्तमान day, year and month प्राप्त कर सकता हूं।अंगुलरज अगले और पिछले दिन, वर्ष, महीना

लेकिन, मैं अगले और पिछले day, year, month कैसे प्राप्त कर सकता हूं?

इस कोड को मैं ने लिखा है, लेकिन मुझे नहीं पता है, जहां

$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... 

साथ शुरू करने के लिए आप किसी भी विचार है?

+1

आप moment.js का उपयोग करने के लिए 'http: // www.datejs.com /' प्लगइन :) या 'http: // momentjs.com/docs /' :) –

+0

+1 का उपयोग कर सकते हैं, तो आप अपना समय बचाएंगे , अपने कोड को सरल बनाएं, और सही चालें! – benek

+0

@benek nah मैं एक निर्देश बना रहा हूं और इसे मदद के बिना काम करना चाहिए;) – sbaaaang

उत्तर

12

आप इसे ऐसा कर सकते हैं, कोणीय दिनांक $ फ़िल्टर आपको ऐसा करने का कोई आसान तरीका नहीं प्रदान करता है, यह सिर्फ एक कस्टम वांछित प्रारूप में एक दिनांक स्वरूपित करता है।

दिन:

var myDate = new Date(); 

var previousDay = new Date(myDate); 

previousDay.setDate(myDate.getDate()-1); 

var nextDay = new Date(myDate); 

nextDay.setDate(myDate.getDate()+1); 

महीना:

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

आप इस एक बहुत क्या करने जा रहे हैं, तो मैं आप इस लागू करने के लिए एक सेवा बनाने की सलाह तर्क।

+0

@Wavy क्या आप यह भी जानते हैं कि महीने में वृद्धि कैसे करें उदाहरण के लिए $ scope.month = $ scope.month + 1? मैंने ** $ scope.month = $ फ़िल्टर ('date') (नई तिथि ($ scope.month) .getMonth() + 1, 'MMMM') की तरह कुछ कोशिश की; ** – sbaaaang

+0

मेरा उत्तर आपको बताता है कि कैसे: 'var nextMonth = नई तिथि (दिनांक); $ scope.nextMonth = $ फ़िल्टर ('date') (nextMonth.setDate (date.getMonth() + 1), 'MMMM') ' – Wawy

+1

मैं 'getYear()' विधि को बदलने के बाद यह काम करने में सक्षम था 'getFullYear()'। 'getYear() '1 9 00 से वर्षों की संख्या देता है और इसे हटा दिया जाता है। http://stackoverflow.com/a/4754956/3341707 – mistykristie

संबंधित मुद्दे