जावास्क्रिप्ट तिथियों की तुलना करें

| | | | | | | | | | | | | | | | | | | | | | | | |

एक चीज जो हम कोडिंग की समस्याओं को हल करने के लिए कर सकते हैं, वह है हमारे कोड में एक निश्चित तर्क के लिए सशर्त रूप से तारीखों और समय की तुलना करने के लिए दिनांक वस्तु का उपयोग करना। अगली (या पिछली) तारीख क्या है, यह देखने के लिए यह आलेख दो तिथियों की तुलना करने के लिए दिनांक ऑब्जेक्ट का उपयोग करने के तरीके पर एक नज़र डालता है।

जावास्क्रिप्ट में एक अंतर्निहित डेटा ऑब्जेक्ट है जो एक्सेस विधियों का उपयोग कर सकता है टाइमस्टैम्प-आधारित तर्क करने में हमारी मदद कर सकता है। इसे कॉन्फ़िगर करने के लिए, निम्नलिखित को कूटबद्ध करके एक नई तिथि को इंस्टेंट करें:

यदि आप console.log (तारीख) दर्ज करना चाहते हैं, तो समय (T के बाद सबस्ट्रिंग) आप डिफ़ॉल्ट रूप से कहां रहते हैं इसके आधार पर यह अलग होगा। अगर आप UTC के साथ काम करना चाहते हैं, तो Z को हटा दें और + HH: MM या -HH: MM जोड़ें।

जानें कि क्या परिभाषित करना है अगले भाग में हमारे तुलना फ़ंक्शन के साथ काम करते समय महत्वपूर्ण।

अगला, दिनांक कंस्ट्रक्टर का उपयोग करते समय प्रस्तावित विधियों पर एक नज़र डालें। ऐसा ही एक तरीका है getTime ()। हम इस पद्धति का उपयोग अपनी तिथि वस्तु को एक संख्या में बदलने के लिए करते हैं ताकि इसकी तुलना आसानी से की जा सके।

यह विशेष विधि युग की शुरुआत के बाद से तारीख को मिलीसेकंड की संख्या में परिवर्तित करती है (युग जनवरी से शुरू हुआ था) 1, 1970)। यहां हमारी गेटटाइम विधि है:

चूंकि तिथि एक नई तिथि वस्तु के रूप में त्वरित है, हम गेटटाइम फ़ंक्शन तक पहुंचने के लिए बिंदीदार संकेतन का उपयोग कर सकते हैं।

मैं इसके लिए प्रलेखन की जाँच करने की सलाह देता हूँ आपके तर्क में दिनांक ऑब्जेक्ट पर आप सभी विभिन्न प्रकार की विधियों का उपयोग कर सकते हैं। अब हम अपने संकेत का सामना करने के लिए तैयार हैं

प्रॉम्प्ट

दो स्ट्रिंग्स और एक तुलना ऑपरेटर को देखते हुए, एक रिटर्न देता है दिनांक जो दिए गए ऑपरेटर के आधार पर या तो कम या अधिक है। यह गारंटी है कि दो पारित स्ट्रिंग्स को डेटा ऑब्जेक्ट में परिवर्तित किया जा सकता है।

समाधान के चरण

  1. बदलें नए डेटा ऑब्जेक्ट के लिए दोनों स्ट्रिंग्स। अपने डेट कंस्ट्रक्टर में पैरामीटर कैसे पास करें, इस पर विचार करना न भूलें!
  2. मिलीसेकंड की एक संख्या बनाने के लिए getTime () का उपयोग करें जो बीत चुके हैं 1 जनवरी, 1970 के बाद से।
  3. पिछले तुलना ऑपरेटर द्वारा इंगित आवश्यक तिथि की गणना करने के लिए एक सशर्त या टर्नरी स्टेटमेंट का उपयोग करें।
  4. मिलीसेकंड को एक पठनीय दिनांक स्ट्रिंग में बदलें और इसे वापस करें।
  5. इसे स्वयं हल करने का प्रयास करें समाधान की बात कर रहे हैं!


    <लेबल के लिए = "दिनांक 1"> दिनांक 1: <इनपुट आईडी = "डेटा 1" मान = "" प्रकार = "" नाम = "दिनांक डेटा 1" /> <लेबल के लिए = "डेटा 2"> दिनांक 2: <इनपुट आईडी = "डेटा 2" मान = "" प्रकार = "" नाम = "डेटा डेटा 2" /> <इनपुट आईडी = "सबमिट बटन टाइप करें" = "सबमिट करें" /> <स्क्रिप्ट> कॉन्स्ट हैंडल सबमिट करें = (डेटा 1, साल 2 करें, तुलना करें) => {// तुलना करने के लिए: प्रत्येक तिथि प्राप्त करें date1Arr = date1.split ("- "); date2Arr = date2.split ("-"); // वर्ष, महीना (माह शून्य-आधारित है), दिन की छुट्टी d1 = नई तिथि (दिनांक 1Arr [0], date1Arr [1] - 1, date1Arr [2]) getTime ()। छोड़ें d2 = नई तिथि (दिनांक2Arr [0], date2Arr [1] - 1, date2Arr [2]) getTime (।); // getTime 1 जनवरी, 1970 से मिलीसेकंड की संख्या प्राप्त करता है। इसलिए संख्या जितनी अधिक होगी, बाद की तारीख। // सशर्त या टर्नरी उपयोग तुलना छुट्टी समय प्रदर्शन वापस करने के लिए; अगर (तुलना करें === "> =") {प्रदर्शन समय = d1> = d2? d1: d2; } और {प्रदर्शन समय = d1 हैंडल सबमिट करें (date_1.value, date_2.value, more.checked `> =`: `<`)) <; / स्क्रिप्ट>

जावास्क्रिप्ट में तिथियां पहली बार में भ्रमित करने वाली हो सकती हैं, लेकिन थोड़े अभ्यास से आप उन्हें कुछ ही समय में प्राप्त कर लेंगे। यहां हमने देखा कि जावास्क्रिप्ट में एक नई तारीख को कैसे परिभाषित किया जाए और इसके कंस्ट्रक्टर पर एक विधि का उपयोग किया जाए। हमने यह भी देखा कि फ़ंक्शन को दिए गए ऑपरेटर के आधार पर दो तिथियों की तुलना कैसे की जाती है, यह देखने के लिए कि कौन सा कम या ज्यादा था। "> <स्टाइल मीडिया = "ऑल">। u84c907af85ace38ef65a435b7ab6eb69 {पैडिंग: 0; मार्जिन: 0; पैडिंग-टॉप: पहला महत्वपूर्ण; नीचे गद्दी करना:! 1em महत्वपूर्ण; चौड़ाई: 100%; प्रदर्शन क्षेत्र; फ़ॉन्ट-वजन: 700; पृष्ठभूमि-रंग: #FFF; सीमा: शून्य: 250ms पृष्ठभूमि-रंग; वेबकिट संक्रमण: रंग 250ms-पृष्ठभूमि, अस्पष्टता: 1; संक्रमण: 250ms की अस्पष्टता; वेबकिट संक्रमण: अस्पष्टता 250ms} {.u84c907af85ace38ef65a435.wcab6ebt फ़ॉन्ट आठ: 700; रंग: # 000; पाठ-सजावट: कोई नहीं; फ़ॉन्ट-आकार: 16px} {.u84c907af85ace38ef65a435b7ab6eb69 .postशीर्षक का रंग: # 34495E; टेक्स्ट-डेकोरेशन: अंडरलाइन महत्वपूर्ण, फॉन्ट साइज: 16px} .u84c907af85ace38ef65a435: h7 पोस्टटाइटल {टेक्स्ट-डेकोरेशन: अंडरलाइन}

एक बार जब आप यह ठीक है, मैं अनुशंसा करता हूं कि आप सरणी में जोड़े गए दिनांक के अनुसार आरोही या अवरोही क्रम में आइटमों की एक सरणी को सॉर्ट करने के तरीके पर एक नज़र डालें।