Moment.js प्लेग्राउंड
Moment.js तिथि और समय API के साथ प्रयोग करने के लिए इंटरैक्टिव प्लेग्राउंड - फ़ॉर्मेट, पार्स, तिथियों को लाइव आउटपुट के साथ संशोधित करें
इनपुट
आउटपुट
रीडमी
Moment.js क्या है?
Moment.js एक व्यापक रूप से उपयोग की जाने वाली JavaScript लाइब्रेरी है जो तिथियों को पार्स, वैधता जाँच, हेरफेर और फ़ॉर्मेट करने के लिए है। आधुनिक विकल्पों के उभरने से पहले, Moment.js JavaScript अनुप्रयोगों में तिथि प्रबंधन के लिए डि फ़ैक्टो मानक था। यह एक साफ़, चेन करने योग्य API प्रदान करता है जो तिथियों के साथ काम करना सहज और सीधा बनाता है। जबकि date-fns और Luxon जैसी नई लाइब्रेरी मौजूद हैं, Moment.js अभी भी लेगेसी कोडबेस में व्यापक रूप से उपयोग किया जाता है और बग फिक्स के लिए सक्रिय रूप से बनाए रखा जाता है। Moment.js को समझना उन डेवलपर्स के लिए आवश्यक है जो ऐसे मौजूदा प्रोजेक्ट्स पर काम करते हैं जो इस पर निर्भर हैं।
तारीख हेरफेर लाइब्रेरी का उपयोग क्यों करें?
JavaScript का मूल Date ऑब्जेक्ट काम करने में कुख्यात रूप से कठिन है। यह विभिन्न ब्राउज़रों में असंगत व्यवहार करता है, महीने की इंडेक्सिंग (0-11 के बजाय 1-12) को भ्रमित करता है, फ़ॉर्मेटिंग विकल्प सीमित हैं, और इसमें अंतर्निहित टाइमज़ोन समर्थन नहीं है। Moment.js जैसी तारीख लाइब्रेरी इन समस्याओं को एक सुसंगत, अच्छी तरह से दस्तावेज़ीकृत API प्रदान करके हल करती हैं। वे डेलाइट सेविंग टाइम ट्रांज़िशन, लीप वर्ष, और लोकल-विशिष्ट फ़ॉर्मेटिंग जैसी किनारी स्थितियों को स्वचालित रूप से संभालते हैं, जिससे डेवलपर्स को शून्य से त्रुटिपूर्ण तारीख लॉजिक लिखने से बचाया जाता है।
उपकरण विवरण
Moment.js Playground एक इंटरैक्टिव ब्राउज़र-आधारित वातावरण है जो Moment.js लाइब्रेरी के साथ प्रयोग करने के लिए है। एडिटर में सीधे JavaScript कोड लिखें और निष्पादित करें, जिसमें Moment.js और Moment Timezone तक पूर्ण पहुँच हो। प्लेग्राउंड आपके टाइप करने के साथ ही (डिबाउंसिंग के साथ) आपका कोड स्वतः चलाता है और सभी कंसोल आउटपुट को नीचे टर्मिनल-शैली पैनल में दिखाता है। यह Moment.js सीखने, तिथि फ़ॉर्मेटिंग स्ट्रिंग्स का परीक्षण करने, तिथि गणनाओं को डिबग करने, और विकास पर्यावरण सेट अप किए बिना समय-संबंधी लॉजिक का प्रोटोटाइप बनाने के लिए उपयुक्त है।
उदाहरण
वर्तमान तिथि को फ़ॉर्मेट करें:
const now = moment();
console.log(now.format("MMMM Do, YYYY"));
// Output: December 30th, 2025
console.log(now.format("dddd, h:mm A"));
// Output: Monday, 3:45 PMविभिन्न तिथि फ़ॉर्मेट्स को पार्स करें:
const date1 = moment("2025-12-25", "YYYY-MM-DD");
const date2 = moment("25/12/2025", "DD/MM/YYYY");
const date3 = moment("Dec 25, 2025", "MMM D, YYYY");
console.log(date1.format("dddd")); // Thursday
console.log(date2.isValid()); // true
console.log(date3.month()); // 11 (0-indexed)सापेक्ष समय की गणना करें:
const past = moment().subtract(3, "days");
const future = moment().add(2, "weeks");
console.log(past.fromNow()); // 3 days ago
console.log(future.fromNow()); // in 14 days
console.log(past.from(future)); // 17 days agoतिथि अंकगणित:
const date = moment("2025-01-15");
const nextMonth = date.clone().add(1, "month");
const lastWeek = date.clone().subtract(1, "week");
const endOfMonth = date.clone().endOf("month");
console.log(nextMonth.format("YYYY-MM-DD")); // 2025-02-15
console.log(lastWeek.format("YYYY-MM-DD")); // 2025-01-08
console.log(endOfMonth.format("YYYY-MM-DD")); // 2025-01-31अवधियों के साथ काम करें:
const start = moment("2025-01-01");
const end = moment("2025-12-31");
const duration = moment.duration(end.diff(start));
console.log(duration.asDays() + " days"); // 364 days
console.log(duration.asWeeks() + " weeks"); // 52 weeks
console.log(duration.humanize()); // a yearतिथियों की तुलना करें:
const date1 = moment("2025-06-15");
const date2 = moment("2025-12-25");
console.log(date1.isBefore(date2)); // true
console.log(date1.isAfter(date2)); // false
console.log(date1.isSame(date2, "year")); // true
console.log(date1.isBetween("2025-01-01", "2025-08-01")); // trueटाइमज़ोन के साथ काम करें:
const now = moment();
console.log(now.tz("America/New_York").format("h:mm A z"));
console.log(now.tz("Europe/London").format("h:mm A z"));
console.log(now.tz("Asia/Tokyo").format("h:mm A z"));विशेषताएँ
- पूर्ण Moment.js लाइब्रेरी: पार्सिंग, फ़ॉर्मेटिंग, हेरफेर और तुलना सहित सभी Moment.js फ़ंक्शन तक पहुँच।
- टाइमज़ोन समर्थन: Moment Timezone विश्वभर के टाइमज़ोन के साथ काम करने के लिए पहले से लोड है।
- लाइव कोड निष्पादन: कोड आपके टाइप करने पर स्मार्ट डिबाउंसिंग के साथ स्वतः चलता है।
- इनबिल्ट टर्मिनल: ब्राउज़र डेव टूल्स खोले बिना तुरंत कंसोल आउटपुट देखें।
- सिंटैक्स हाईलाइटिंग: बेहतर कोड पठनीयता के लिए JavaScript सिंटैक्स हाईलाइटिंग।
- एरर हैंडलिंग: रनटाइम एरर टर्मिनल आउटपुट में स्पष्ट रूप से दिखाए जाते हैं।
उपयोग मामलों
- Moment.js सीखना: API के साथ प्रयोग करें और प्रोजेक्ट सेटअप के बिना तुरंत परिणाम देखें।
- फ़ॉर्मेट स्ट्रिंग परीक्षण: विभिन्न फ़ॉर्मेट टोकन आज़माएँ ताकि आपको आवश्यक सटीक तिथि आउटपुट प्राप्त हो।
- तिथि गणना डिबगिंग: अपने एप्लिकेशन में लागू करने से पहले जटिल तिथि अंकगणित का परीक्षण करें।
- टाइमज़ोन रूपांतरण: विभिन्न टाइमज़ोन के बीच समय को जल्दी से बदलें।
- लेगेसी कोड रखरखाव: मौजूदा एप्लिकेशन को बनाए रखते समय Moment.js कोड स्निपेट्स का परीक्षण करें।
सामान्य फ़ॉर्मेट टोकन्स
| Token | Description | Example |
|---|---|---|
YYYY |
4-अंकीय वर्ष | 2025 |
YY |
2-अंकीय वर्ष | 25 |
MM |
2-अंकीय माह | 01-12 |
MMM |
संक्षिप्त माह नाम | Jan, Feb |
MMMM |
पूरा माह नाम | January |
DD |
2-अंकीय दिन | 01-31 |
Do |
क्रमांक के साथ दिन | 1st, 2nd, 3rd |
dddd |
पूरा सप्ताह का नाम | Monday |
ddd |
संक्षिप्त सप्ताह का नाम | Mon |
HH |
24-घंटे का घंटा | 00-23 |
hh |
12-घंटे का घंटा | 01-12 |
mm |
मिनट | 00-59 |
ss |
सेकंड | 00-59 |
A |
AM/PM (बड़े अक्षर) | AM, PM |
a |
am/pm (छोटे अक्षर) | am, pm |
z |
टाइमज़ोन संक्षिप्त रूप | EST, PST |
Z |
टाइमज़ोन ऑफ़सेट | +05:00 |
सामान्य मेथड रेफ़रेंस
| Method | Description | Example |
|---|---|---|
moment() |
वर्तमान मोमेंट बनाएं | moment() |
format(string) |
स्ट्रिंग में फ़ॉर्मेट करें | moment().format("YYYY-MM-DD") |
add(n, unit) |
समय जोड़ें | moment().add(7, "days") |
subtract(n, unit) |
समय घटाएँ | moment().subtract(1, "month") |
startOf(unit) |
इकाई की शुरुआत | moment().startOf("week") |
endOf(unit) |
इकाई का अंत | moment().endOf("month") |
fromNow() |
सापेक्ष समय | moment("2025-01-01").fromNow() |
diff(moment) |
अंतर | momentA.diff(momentB, "days") |
isBefore(moment) |
पहले है | momentA.isBefore(momentB) |
isAfter(moment) |
बाद में है | momentA.isAfter(momentB) |
isSame(moment, unit) |
समान है | momentA.isSame(momentB, "month") |
isValid() |
वैधता जाँचें | moment("invalid").isValid() |
clone() |
कॉपी बनाएं | moment().clone() |
tz(zone) |
टाइमज़ोन बदलें | moment().tz("America/New_York") |
समय इकाइयाँ
Moment.js इन समय इकाइयों का समर्थन करता है add, subtract, startOf, endOf, और diff ऑपरेशन्स के लिए:
years/yquarters/Qmonths/Mweeks/wdays/dhours/hminutes/mseconds/smilliseconds/ms