इन प्रतिस्थापन पुस्तकालयों में से एक के साथ जावास्क्रिप्ट की अंतर्निहित तिथि और समय क्षमताओं से आगे बढ़ें।

दिनांक प्रबंधन के लिए जावास्क्रिप्ट का अंतर्निहित समर्थन उपयोगी है, लेकिन इसका उपयोग करना अजीब हो सकता है। समयक्षेत्र रूपांतरण और दिनांक स्वरूपण जैसे जटिल संचालन अक्सर चुनौतीपूर्ण होते हैं।

सौभाग्य से, कई पैकेज उपलब्ध हैं जो जावास्क्रिप्ट में दिनांक और समय के साथ काम करना कम तनावपूर्ण बनाते हैं। यहाँ, आप इनमें से कुछ पैकेजों के बारे में जानेंगे और आप इन पैकेजों पर काम करना कैसे शुरू कर सकते हैं।

जब दिनांक और समय के साथ काम करने की बात आती है, मूल जावास्क्रिप्ट दिनांक वस्तु सीमित कार्यक्षमता है।

Moment.js, एक जावास्क्रिप्ट लाइब्रेरी, ने मूल दिनांक वस्तु में अनुपलब्ध कई सुविधाएँ पेश कीं। नतीजतन, यह दिनांक और समय के साथ काम करने के लिए गो-टू लाइब्रेरी बन गया है।

NPM के साथ Moment.js को स्थापित करने के लिए, अपनी प्रोजेक्ट निर्देशिका से निम्न कमांड चलाएँ:

NPM स्थापित करना पल

स्थापना के बाद, आप अपने प्रोजेक्ट में Moment.js आयात कर सकते हैं और लाइब्रेरी के साथ संचालन कर सकते हैं:

कॉन्स्ट क्षण = ज़रूरत होना('पल');
कॉन्स्ट अब = क्षण ();
कॉन्स्ट NowString = now.format ('YYYY-MM-DD HH: mm: ss');
instagram viewer

सांत्वना देना।लकड़ी का लट्ठा(`वर्तमान दिनांक और समय है ${nowString}`);

यह कोड स्निपेट Moment.js लाइब्रेरी को इम्पोर्ट करता है और वर्तमान दिनांक और समय का उपयोग करके एक मोमेंट ऑब्जेक्ट बनाता है पल() समारोह। यह तब प्रदर्शित करता है कि बनाई गई दिनांक ऑब्जेक्ट को स्ट्रिंग के रूप में कैसे प्रारूपित किया जाए प्रारूप() विधि, जो इसके तर्क के रूप में दिनांक/समय प्रारूप लेती है।

आप इस लाइब्रेरी का उपयोग समय अंतराल जोड़ने और घटाने के लिए भी कर सकते हैं:

कॉन्स्ट AddTenMinutes = पल ()। जोड़ें (10, 'मिनट');
सांत्वना देना।लकड़ी का लट्ठा(`${addTenMinutes.format('एच: मिमी ए')}`);

कॉन्स्ट घटाना दो दिन = पल ()। घटाना (2, 'दिन');
सांत्वना देना।लकड़ी का लट्ठा(`${subtractTwoDays.format('dddd, MMMM दो YYYY')}`);

प्रोग्राम कंसोल में दो वेरिएबल्स को अलग-अलग स्वरूपों में लॉग करता है। पहला, addTenMinutes, वर्तमान दिनांक और समय में 10 मिनट जोड़ने का परिणाम रखता है। दूसरा, घटा दो दिन, में वर्तमान दिनांक और समय मान होता है, जिसमें से दो दिन घटाए जाते हैं।

Moment.js लीप वर्ष के लिए जाँच करने और एक तिथि प्रारूप से दूसरे में परिवर्तित करने जैसे अन्य कार्य कर सकता है।

यह ध्यान रखना महत्वपूर्ण है कि Moment.js अब इसकी मुख्य डेवलपर टीम द्वारा अनुरक्षित नहीं है। डेवलपर्स Luxon.js जैसे विकल्प का उपयोग करने की सलाह देते हैं।

Luxon.js तारीखों के साथ काम करने के लिए एक मजबूत और अधिक आधुनिक JavaScript लाइब्रेरी है। Moment.js का एक विकल्प, यह पुराने पुस्तकालय की सीमाओं जैसे उत्परिवर्तन को संबोधित करता है।

आप Luxon को npm के साथ इंस्टॉल कर सकते हैं और फिर इसे इम्पोर्ट कर सकते हैं दिनांक समय कक्षा अपने Node.js परियोजना में का उपयोग कर ज़रूरत होना() समारोह:

कॉन्स्ट {दिनांक समय} = ज़रूरत होना('लक्सन');

लक्सन में, डेटटाइम ऑब्जेक्ट्स समय के उदाहरणों को संदर्भित करते हैं जो सभी तरह से मिलीसेकंड तक नीचे जाते हैं।

आप नया बना सकते हैं दिनांक समय ऑब्जेक्ट्स और उनके घटकों तक पहुंचें, जैसे वर्ष, महीना, मिनट और दूसरा:

कॉन्स्ट अब = दिनांक समय। अब ();
कॉन्स्ट वर्ष = अब वर्ष;
कॉन्स्ट मिनट = अब मिनट;
कॉन्स्ट दूसरा = अब दूसरा;

यह कोड एक नया बनाता है दिनांक समय ऑब्जेक्ट वर्तमान दिनांक और समय का उपयोग करके प्रतिनिधित्व करता है अब() तरीका। इसके बाद यह उस दिनांक के घटकों का उपयोग करके एक्सेस करता है वर्ष, मिनट, और दूसरा गुण।

Luxon.js और Moment.js के बीच एक बड़ा अंतर इसका अपरिवर्तनीय चरित्र है। लक्सॉन में सभी डेटटाइम ऑब्जेक्ट अपरिवर्तनीय हैं, जिसका अर्थ है कि आप डेटटाइम गुणों को संशोधित नहीं कर सकते हैं। इसके बजाय, आप मौजूदा वाले से नए डेटटाइम इंस्टेंस बना सकते हैं।

उदाहरण के लिए:

कॉन्स्ट अब = दिनांक समय। अब ();
कॉन्स्ट कल = अभी.प्लस ({ दिन: 1 });

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

Luxon.js का एक अन्य लाभ इसका विश्वसनीय टाइमज़ोन समर्थन है, जो आधुनिक वेब अनुप्रयोगों में दिनांक और समय के साथ काम करने के लिए आवश्यक है। पुस्तकालय उपयोग करता है अंतर्राष्ट्रीयकरण एपीआई सटीक टाइमज़ोन समर्थन प्रदान करने के लिए आधुनिक ब्राउज़रों में।

हालाँकि, Luxon.js की कमियों में से एक इसका सीमित सामुदायिक संसाधन है।

दिनांक-fns दिनांक और समय के साथ कार्य करने के लिए डिज़ाइन की गई बहुत हल्की JavaScript लाइब्रेरी है। यह देशी जावास्क्रिप्ट ऑब्जेक्ट पर बनाता है।

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

एनपीएम के साथ दिनांक-एफएनएस स्थापित करने के बाद, आवश्यक फ़ंक्शन का उपयोग करके पैकेज को अपने प्रोग्राम में आयात करें:

कॉन्स्ट {प्रारूप, ऐडडेज} = ज़रूरत होना('तारीख-fns');

दिनांक-fns मॉड्यूलर है। इसमें बहुत सारे कार्य शामिल हैं जिन्हें आप पैकेज को नष्ट करके एक्सेस कर सकते हैं, जैसा कि ऊपर दिए गए कोड ब्लॉक में दिखाया गया है। कोड केवल प्रारूप आयात करता है और डेट-एफएनएस लाइब्रेरी से एडडेज़ फ़ंक्शन करता है।

यहाँ उन दोनों कार्यों का उपयोग करने का एक उदाहरण दिया गया है:

कॉन्स्ट आज = नयातारीख();
कॉन्स्ट स्वरूपित दिनांक = प्रारूप (आज, 'yyyy-MM-dd');
सांत्वना देनालॉग (स्वरूपित दिनांक);

कॉन्स्ट कल = प्रारूप (ऐडडेज़ (आज, 1), 'yyyy-MM-dd');
सांत्वना देनालॉग (कल);

यह कार्यक्रम तारीखों को प्रारूपित करने और हेरफेर करने के लिए JavaScript में date-fns लाइब्रेरी का उपयोग करके प्रदर्शित करता है।

यह एक नया बनाता है तारीख वस्तु वर्तमान तिथि का प्रतिनिधित्व करती है। यह वर्तमान तिथि का उपयोग कर स्वरूपित करता है प्रारूप date-fns लाइब्रेरी से कार्य करता है।

यह तब उपयोग करता है addDays कल की तारीख का प्रतिनिधित्व करने वाली एक नई दिनांक वस्तु बनाने के लिए कार्य करता है, इसका उपयोग करके इसे स्वरूपित करता है प्रारूप कार्य करता है, और वर्तमान दिनांक और कल की दिनांक दोनों को कंसोल में लॉग करता है "ववव-मम-दि.द" प्रारूप।

दिनांक-fns का उपयोग करने का नकारात्मक पक्ष यह है कि यह समयक्षेत्र समर्थन प्रदान नहीं करता है। इसके बजाय, यह सहायक कार्यों का उपयोग करके समय क्षेत्र के साथ काम करने के लिए एक अलग पुस्तकालय का उपयोग करता है।

Day.js, एक और बहुत हल्की लाइब्रेरी, एक अच्छा विकल्प है यदि आप Moment.js के लिए एक अपरिवर्तनीय, छोटे, तेज विकल्प की तलाश कर रहे हैं।

आप निम्नलिखित एनपीएम कमांड चलाकर Day.js को अपने जावास्क्रिप्ट प्रोजेक्ट में एक पैकेज के रूप में स्थापित कर सकते हैं:

NPM स्थापित करना js

स्थापना के बाद अपने प्रोजेक्ट में Day.js आयात करने के लिए, आप निम्न कोड का उपयोग कर सकते हैं:

कॉन्स्ट दिनज = ज़रूरत होना('dayjs')

यहाँ कुछ बुनियादी कार्य और विधियाँ Day.js में उपलब्ध हैं

कॉन्स्ट अब = दिनज ();

कॉन्स्ट तारीख = दिनज ('2023-03-23', 'YYYY-मम-डीडी');

कॉन्स्ट महीना = दिनांक.महीना ();

कॉन्स्ट स्वरूपित दिनांक = दिनांक. प्रारूप ('एमएमएमएम डी, वाई वाई वाई');

कॉन्स्ट अगला सप्ताह = दिनांक। जोड़ें (1, 'सप्ताह');

उपरोक्त कोड एक नया Day.js ऑब्जेक्ट बनाता है जो वर्तमान दिनांक और समय का प्रतिनिधित्व करता है, एक कस्टम प्रारूप के साथ दिनांक स्ट्रिंग को पार्स करता है, और महीने को प्राप्त करता है तारीख चर। यह यह भी दिखाता है कि दिनांक उदाहरण को कैसे प्रारूपित और जोड़ा जाए।

दिनांक-fns की तरह, Day.js अपने आप समय क्षेत्र सहायता प्रदान नहीं कर सकता है। Day.js एक प्लगइन सिस्टम का उपयोग करता है, जिससे यह उपयोग करने में भ्रमित हो जाता है।

कवर किए गए पैकेजों में, Day.js Moment.js के समान है। यदि आपको आवश्यकता हो तो इससे दोनों के बीच स्विच करना आसान हो जाता है।

अपने ऐप के लिए सही लाइब्रेरी चुनना

अपने जावास्क्रिप्ट एप्लिकेशन के लिए सही तिथि और समय पुस्तकालय चुनना एक महत्वपूर्ण निर्णय है जो आपके कोड की गुणवत्ता और रखरखाव पर बड़ा प्रभाव डाल सकता है।

यहां चर्चा की गई प्रत्येक लाइब्रेरी की अपनी ताकत और कमजोरियां हैं, इसलिए निर्णय लेने से पहले अपनी आवश्यकताओं का सावधानीपूर्वक मूल्यांकन करना महत्वपूर्ण है।