2015-09-21 6 views
5

मुझे एक छोटी सी समस्या है जिसमें MomentJS एक बकवास तिथि लौटा रहा है। मैं तारीख को किसी दिए गए महीने और वर्ष के पहले सेट करने का प्रयास कर रहा हूं। मैं निम्नलिखित की कोशिश की है: -MomentJS 1 महीने के लिए अस्पष्ट तिथि देता है

var _year = 2015; 
var _month = 10; 
var _dateString = _year.toString() + '-' + _month.toString() + '-1'; 
var _date = moment(_dateString, 'YYYY-MM-D'); 
console.log('_date', _date.format('dddd, do MMMM YYYY')); 

यह _date रूप Thursday, 4th October 2015 देता है। जो अस्तित्व में नहीं है। मैं .set() और .date() उपयोग करने की कोशिश, दोनों एक ही परिणाम दे: -

var _date = moment(_dateString, 'YYYY-MM-D').set('date', 1); 
> Thursday, 4th October 2015 

var _date = moment(_dateString, 'YYYY-MM-D').date(1); 
> Thursday, 4th October 2015 

तो, मैं नहीं देख सकता कि मैं गलत कर रहा हूँ अब, किसी को भी किसी भी सुझाव दे या मदद कर सकते हैं?

बहुत धन्यवाद।

उत्तर

5

आपका कोड सही है, सिवाय इसके कि आप पूंजी का उपयोग करना चाहिए Ddo छोटा नहीं में d:

console.log('_date', _date.format('dddd, Do MMMM YYYY')); 

अंतर Do और के बीच do है:

  • do में दिन के सूचकांक है सप्ताह, उदाहरण के लिए यदि आप कैलेंडर को चेक करते हैं तो आपको 1 अक्टूबर को गुरुवार को मिलेगा जो सप्ताह का चौथा दिन है क्योंकि इंडेक्स शुरू होता है एम 0 और यदि आप 2 अक्टूबर को बदल गए हैं जो शुक्रवार है तो यह आपको 5 अक्टूबर और 3 अक्टूबर => 6 वें के लिए देगा और फिर नया सप्ताह रविवार से 4 अक्टूबर => 0 वें से शुरू होगा और फिर से शुरू होगा।

  • Do महीने में दिन का सूचकांक है और जो परिणाम आप उम्मीद करते हैं, 1 अक्टूबर 1 वें, 2 अक्टूबर => दूसरा और इसी तरह से होता है।

चेक अधिक जानकारी

+0

@ मोहम्मद-इब्राहिम, doh के लिए docs! सटीक! धन्यवाद! :) – dooburt

+0

बस एक हेड-अप, आपके 'डीओ' और 'डू' आपके उदाहरणों में बीटीडब्ल्यू के आसपास गलत तरीका है। – dooburt

+0

धन्यवाद @dooburt तय :) –

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