javascript - Set max date from date1 to date2 up to 365 days -
मेरे पास 2 jQuery के दिनांक पिकर हैं:
& lt; p & gt; & lt; label & gt; प्रारंभ दिनांक & lt; / लेबल & gt; & Lt; / p & gt; & lt; p & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" id = "date1" name = "date1" class = "तिथि-चुनना छोटे इनपुट आवश्यक" / & gt; & Lt; / p & gt; & Lt; p & gt; & lt; लेबल & gt; समाप्ति तिथि: & lt; / लेबल & gt; & Lt; / p & gt; & lt; p & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" id = "date2" नाम = "दिनांक 2" वर्ग = "तिथि-चुनना छोटे इनपुट की आवश्यकता" / & gt; * & lt; / p & gt; & Lt; p & gt; & lt; लेबल & gt; कुल अवधि: & lt; / लेबल & gt; & Lt; / p & gt; & lt; p & gt; & Lt; इनपुट प्रकार = "टेक्स्ट" id = "कुल_Period" name = "Total_Period" वर्ग = "smallInput आवश्यक" / & gt; * & Lt; / p & gt; मुझे निम्नलिखित के लिए कुछ कोड लिखने में मदद की ज़रूरत है:
- तारीख 2 तिथि के 365 दिन से अधिक नहीं हो सकता <1
- राशि की गणना करें कुल दिनांक के बीच दिनांक 1 और दिनांक 2 के बीच के दिन
दो तिथियों के बीच अंतर की गणना करने के लिए पूरे दिन में एक ही समय में सेट करें, एक से दूसरे को घटाना और एक दिन में मिलीसेकेंड द्वारा विभाजित करें, फिर निकटतम पूरे दिन (डेलाइट सेविंग के लिए खातों) को गोल करें:
फ़ंक्शन diffInDays ( D0, d1) {var msDay = 8.64e7; // एमएस 1 दिन में var msLimit = 3.1536e10; / एमएस 365 दिनों में var diff = Math.abs (d1 - d0); // diff in ms यदि (diff & gt; msLimit) {वापसी झूठी; // या फेंक त्रुटि या जो कुछ भी हो, // वापसी नंबरों की संख्या // राउंडिंग डेलाइट सेविंग इफेक्ट को समाप्त करती है +/- 1 घंटे का रिटर्न गणित क्षेत्र (अंतर / एमएसडीए); } ध्यान दें कि यह इस बात पर निर्भर करता है कि आप एक दिन कैसे मापते हैं। यदि तिथियों में एक ही समय होता है (00: 00: 00.0) तो उपरोक्त "कार्य" हालांकि, यदि उनके पास अलग-अलग समय है तो ऐसा नहीं हो सकता है। जैसे 2014-07-25 23:59:59 और 2014-07-26 00:00:01 के बीच अंतर क्या एक दिन या 2 सेकंड (0 दिन) हो?
यदि समय अलग हो सकता है लेकिन आप केवल तिथियों से निपटना चाहते हैं (यानी ऊपर का अंतर 1 दिन नहीं 0 दिन है), तो तिथियों की प्रतिलिपि बनाएँ और एक ही समय में अपना समय निर्धारित करें:
फ़ंक्शन diffInDays (d0, d1) {// कॉपी की तारीखें तो मूल डी 0 = नई तिथि (+ डी 0) को प्रभावित नहीं करती हैं; डी 1 = नई तिथि (+ डी 1); // एक ही समय में सेट करें, दिन की शुरुआत में आधी रात को d0.setHours (0,0,0,0,0); d1.setHours (0,0,0,0); // शेष फ़ंक्शन ऊपर है ...} console.log (diffInDays (नई तिथि (2014,6, 25, 23, 59, 59), नई तिथि (2014,6,26,0,0,1)) ); // 1 console.log (diffInDays (नई तिथि (2014,0,1), नई तिथि (2014,11,31))); // 364
Comments
Post a Comment