आपको शायद यह पता चल जाएगा कि आप 31 फरवरी 200 9 को तारीख निर्धारित कर रहे हैं (यदि आज 31 जनवरी है) और जावास्क्रिप्ट स्वचालित रूप से मार्च के शुरुआती हिस्से में रोल करता है।
महीने के दिन की जांच करें, मुझे उम्मीद है कि यह 1, 2 या 3 हो। यदि यह एक महीने पहले जोड़े जैसा नहीं है, तो महीने में फिर से बदलाव होने तक एक दिन तक रोल करें।
इस तरह, "जनवरी का अंतिम दिन" दिन "फरवरी का अंतिम दिन" बन जाता है।
संपादित करें:
रोनाल्ड, अन्य उत्तर देने के लिए अपनी टिप्पणी के आधार पर, आप किनारे मामले व्यवहार को दूर करना चाह सकते हैं जैसे कि "क्या होता है जब मैं 30 फ़र, बनाने की कोशिश" या "क्या होता है जब मैं 200 9/13/07 (yyyy/mm/dd) बनाने का प्रयास करें "(कि अंतिम समाधान अभी भी मेरे समाधान के लिए एक समस्या हो सकती है, इसलिए आपको इसका परीक्षण करना चाहिए)।
इसके बजाय, मैं स्पष्ट रूप से संभावनाओं के लिए कोड करता हूं। जब से तुम महीने के दिन के बारे में परवाह नहीं है (आप बस वर्ष और माह चाहते अगले महीने के लिए सही होने के लिए), कुछ इस तरह पर्याप्त होना चाहिए:
var now = new Date();
if (now.getMonth() == 11) {
var current = new Date(now.getFullYear() + 1, 0, 1);
} else {
var current = new Date(now.getFullYear(), now.getMonth() + 1, 1);
}
है कि आप जनवरी 1 के लिए अगले वर्ष देता है दिसंबर में किसी भी दिन और अगले महीने के पहले दिन किसी भी अन्य दिन के लिए। अधिक कोड, मुझे पता है, लेकिन मैं लंबे समय से दक्षता के लिए कोडिंग चाल से थक गया हूं, पठनीयता को पसंद करता हूं जब तक कि अन्यथा करने की स्पष्ट आवश्यकता न हो।
कल इस तरह से कर सकते हैं 1st फ़रवरी था ... – nickf
मजाकिया, सवाल था 1 फरवरी को 00:03 बजे पूछा गया समय वह अपने प्रश्न के साथ समाप्त हुआ, यह पहले से ही "दिनांकित" था: पी –