2010-05-17 9 views
12

मेरे पास एक इनपुट फ़ील्ड है जिसे जावास्क्रिप्ट डेट ऑब्जेक्ट का उपयोग करके एक महीने तक बढ़ाया जाना चाहिए। नीचे महीने में वृद्धि करने के प्रयास किए गए एक प्रयास का उदाहरण दिया गया है। ऐसा लगता है कि यह जनवरी के रूप में प्रदर्शित होगा और साल में वृद्धि नहीं करेगा।जावास्क्रिप्ट में एक महीने में एक महीने जोड़ें

nDate.setDate(nDate.getDate()); 
inputBox1.value = (nDate.getMonth() + 1) + "/" + (nDate.getDate()) + "/" + (nDate.getFullYear()); 
+4

प्रश्न: यदि दिनांक 01/31/2010 है तो क्या होता है? 01/28/2010 या 03/03/2010 देखना चाहते हैं? –

+1

स्पष्ट रूप से एक वास्तविक प्रश्न है - 30k विचार, 24 अपवॉट्स के साथ उचित उत्तर .... – Ben

+0

@ben मुझे लगता है कि आपकी टिप्पणी मानती है कि महीने में 30 दिन हैं? – supersan

उत्तर

42
// assumes document.form1.textbox1.value is a parseable date 
var d = new Date(document.form1.textbox1.value); 
d.setMonth(d.getMonth() + 1); 
document.form1.textbox1.value = (d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear(); 

here वर्णित अनुसार, महीने का रेंज सबूत होना चाहिए।

+1

एक महीने घटाने के बारे में क्या है? यह पूरी तरह से अलग तर्क है ... –

-5

आप पाठ बॉक्स, से बाहर पाठ है जिसे आप() निर्माता तिथि करने के लिए पारित कर सकते हैं अर्जित करने होंगे:

var d = new Date(text);

तो दिनांक स्ट्रिंग को फ़ॉर्मेट:

var str = d.getDate(), d.getMonth() + 1, d.getFullYear()

और उस मूल्य को परीक्षण बॉक्स सेट

+1

दिसम्बर के बारे में क्या -> जनवरी – leora

+0

हम्म, मैंने सोचा कि यह लुढ़का हुआ है, लेकिन शायद आपको इसके लिए स्पष्ट रूप से जांच करनी होगी। या पूरी तरह से एक बेहतर तरीका हो सकता है –

+0

मैं आपकी लाइन को समझ नहीं पा रहा हूं कि यह एक तारीख कैसे बना रहा है, ऐसा लगता है कि यह 30, 4, 1002 – leora

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