यह लाइब्रेरी क्या है और इसकी आवश्यकता क्यों है
Moment.js और Day.js JavaScript में तारीखों और समय के साथ काम करने के लिए दो शक्तिशाली लाइब्रेरी हैं। ये एक बुनियादी समस्या का समाधान करती हैं: JavaScript का मूल Date ऑब्जेक्ट रोज़मर्रा के कार्यों के लिए बेहद असुविधाजनक है। यह फ़ॉर्मेटिंग, तारीखों के साथ जटिल गणना, विभिन्न फ़ॉर्मेट में स्ट्रिंग पार्सिंग, और समय क्षेत्रों के साथ काम करने के लिए दर्जनों लाइन कोड लिखे बिना समर्थन नहीं करता।
Moment.js लंबे समय से डी-फैक्टो मानक था, लेकिन अब इसे "लेगसी" माना जाता है — इसका विकास रोक दिया गया है, और इसके बड़े आकार (लगभग 300 KB) के कारण नए प्रोजेक्ट के लिए इसकी अनुशंसा नहीं की जाती है। इसकी जगह Day.js ने ले ली है — एक हल्की (केवल 2 KB) और तेज़ लाइब्रेरी जिसका API लगभग समान है। Day.js अधिकांश बुनियादी कार्यों में Moment.js के साथ पूरी तरह से संगत है, जिससे माइग्रेट करना आसान हो जाता है।
दोनों लाइब्रेरी ये सुविधाएँ प्रदान करती हैं:
- किसी भी फ़ॉर्मेट की स्ट्रिंग से तारीख पार्स करना
- तारीखों को पढ़ने योग्य स्ट्रिंग में फ़ॉर्मेट करना
- हेरफेर (दिन, महीने, साल जोड़ना/घटाना)
- तारीखों की तुलना (पहले, बाद में, बीच में)
- समय क्षेत्रों के साथ काम करना (प्लगइन के माध्यम से)
- स्थानीयकरण (विभिन्न भाषाओं और क्षेत्रीय फ़ॉर्मेट का समर्थन)
इस लेख में हम Day.js को एक आधुनिक विकल्प के रूप में देखेंगे, लेकिन सभी उदाहरण न्यूनतम बदलावों के साथ Moment.js पर भी काम करेंगे।
इंस्टॉलेशन
Node.js के लिए इंस्टॉलेशन npm या yarn के माध्यम से किया जाता है। ब्राउज़र के लिए CDN का उपयोग किया जा सकता है।
Day.js इंस्टॉल करना
# npm के माध्यम से
npm install dayjs
# yarn के माध्यम से
yarn add dayjs
Moment.js इंस्टॉल करना
npm install moment
# या
yarn add moment
प्रोजेक्ट में शामिल करना
// Day.js
const dayjs = require('dayjs');
// Moment.js
const moment = require('moment');
कोड उदाहरण के साथ त्वरित शुरुआत
इंस्टॉल करने के बाद आप तुरंत तारीखों के साथ काम करना शुरू कर सकते हैं। यहाँ एक न्यूनतम उदाहरण है जो मुख्य क्षमताओं को दर्शाता है:
const dayjs = require('dayjs');
// वर्तमान तारीख और समय
const now = dayjs();
console.log('अभी:', now.format('DD.MM.YYYY HH:mm:ss'));
// स्ट्रिंग पार्स करना
const date = dayjs('2024-03-15');
console.log('पार्सिंग:', date.format('DD.MM.YYYY'));
// हेरफेर
const nextWeek = dayjs().add(7, 'day');
console.log('एक सप्ताह बाद:', nextWeek.format('DD.MM.YYYY'));
// तारीखों के बीच अंतर
const diff = nextWeek.diff(now, 'day');
console.log('दिनों में अंतर:', diff);
// तुलना
console.log('क्या आज पहले है?', now.isBefore(nextWeek)); // true
मुख्य तरीके/फ़ंक्शन
1. dayjs() — तारीख ऑब्जेक्ट बनाना
यह क्या करता है: एक Day.js ऑब्जेक्ट बनाता है जो एक विशिष्ट समय बिंदु को दर्शाता है। बिना आर्गुमेंट के यह वर्तमान तारीख और समय लौटाता है।
पैरामीटर:
date(वैकल्पिक) — स्ट्रिंग, संख्या (timestamp), Date ऑब्जेक्ट या कोई अन्य Day.js ऑब्जेक्टformat(वैकल्पिक) — पार्सिंग के लिए फ़ॉर्मेट स्ट्रिंग, यदि date एक स्ट्रिंग है
काम करने वाला कोड उदाहरण:
// वर्तमान तारीख
const now = dayjs();
// स्ट्रिंग से
const fromString = dayjs('2024-12-31');
// timestamp से (मिलीसेकंड)
const fromTimestamp = dayjs(1704067200000);
// Date ऑब्जेक्ट से
const fromDate = dayjs(new Date(2024, 0, 1)); // 1 जनवरी 2024
// फ़ॉर्मेट निर्दिष्ट करके
const customFormat = dayjs('31.12.2024', 'DD.MM.YYYY');
console.log(now.format()); // 2024-03-15T10:30:00+03:00
console.log(customFormat.format('YYYY-MM-DD')); // 2024-12-31
2. format() — तारीख फ़ॉर्मेट करना
यह क्या करता है: तारीख ऑब्जेक्ट को दिए गए टेम्पलेट के अनुसार स्ट्रिंग में बदलता है। बिना आर्गुमेंट के यह ISO स्ट्रिंग लौटाता है।
पैरामीटर:
पुस्तकालय में भी
TypeScript में CLI एप्लिकेशन बनाना: फ्रेमवर्क और टूल्स का अवलोकन
Stripe JavaScript (Node.js): पूर्ण गाइड उदाहरण सहित
PHP में क्रिप्टोग्राफी: एन्क्रिप्शन और हैशिंग (व्यावहारिक मार्गदर्शिका)
Kotlin के लिए ORM: Exposed, Room और Ktorm की तुलना उदाहरणों के साथ