क्विज़: 14 जावास्क्रिप्ट डेट प्रश्न
JS ट्रिविया के साथ महफिलों में धाक जमाना सीखें! ✨
आप Date क्लास को कितनी अच्छी तरह जानते हैं?
- अपने JavaScript हुनर को साबित करें! 🚀
- कोई लॉगिन या साइनअप की आवश्यकता नहीं। ✨
- बहुविकल्पीय प्रश्न। 🤖 … आखिर यह कितना कठिन हो सकता है, है ना?
रूपरेखा
JavaScript में Date क्लास का API अपनी पेचीदगी के लिए कुख्यात है। इसे Java से विरासत में लिया गया था, और मेरा मानना है कि यह प्राचीन पाषाण काल की समय-गणना विधियों से प्रेरित था।
Date के साथ इस जद्दोजहद के कारण कई डेवलपर्स बिना सोचे-समझे थर्ड-पार्टी लाइब्रेरीज़ का उपयोग करने लगते हैं। हालांकि ये अक्सर एक सुरक्षित और भरोसेमंद विकल्प होते हैं, लेकिन डेट फॉर्मेटिंग या लोकलाइजेशन के लिए इन लाइब्रेरीज़ की शायद ही कभी ज़रूरत पड़ती है!
यह क्विज़ नेटिव Date API के बारे में आपके ज्ञान का परीक्षण करने (और उसे गहरा करने) के लिए बनाया गया है। हिंट और स्पष्टीकरण के लिए हरे बटन का उपयोग करें! उम्मीद है कि इस चैलेंज के अंत तक, JavaScript में Date को लेकर आपकी समझ मज़बूत हो जाएगी।
नोट: मान लें कि सभी उदाहरण GMT-7 लोकल टाइमज़ोन के हिसाब से हैं।
👇 नीचे 14 प्रश्न दिए गए हैं 👇
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d1 = new Date(2020, 1, 1)console.log(d1)Month (महीना) आर्गुमेंट ज़ीरो-बेस्ड (zero-based) होता है। इसकी रेंज 0-11 होती है (पश्चिमी कैलेंडर के अनुसार)।
‘February’ की इंडेक्स वैल्यू 1 होती है। (इसे एक एरे लुकअप की तरह समझें।)
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d2 = new Date(2020, 0, 1)console.log(d2)Month आर्गुमेंट zero-based होता है। इसकी रेंज 0-11 होती है (पश्चिमी कैलेंडर के अनुसार)।
‘January’ की इंडेक्स वैल्यू शून्य (0) होती है। (इसे एक array lookup की तरह समझें।)
आउटपुट में क्या शामिल होगा?
const d3 = Date('Thu, 01 Jan 1970 00:00:00 GMT')console.log(d3)new के बिना Date() कॉल करने पर सभी आर्ग्यूमेंट अनदेखे होते हैं और वर्तमान तारीख तथा समय की स्ट्रिंग लौटती है। दिए गए आर्ग्यूमेंट से Date ऑब्जेक्ट बनाने के लिए new Date(...) का उपयोग करें।
इस प्रश्न के लिए स्थानीय ऑफसेट GMT−7 मानें। आउटपुट में क्या शामिल होगा?
const date = new Date(2020)console.log(date.getFullYear())एक सिंगल इंटीजर आर्गुमेंट के साथ बनाया गया Date इंस्टेंस Unix Epoch वैल्यू के रूप में इंटरप्रेट किया जाता है। Epoch 1 जनवरी, 1970 से मिलीसेकंड की गिनती है।
2020 (मिलीसेकंड) की वैल्यू 1 जनवरी, 1970 के 2 सेकंड बाद के समय को दर्शाती है।
चूंकि हमारा लोकल टाइम ज़ोन -7 घंटे का नेगेटिव ऑफसेट है, इसलिए हमें Wed Dec 31 1969 17:00:02 GMT-0700 (Mountain Standard Time) मिलता है।
आप .getUTCFullYear() का उपयोग करके लोकल टाइमज़ोन ऑफसेट से बच सकते हैं।
आउटपुट में क्या शामिल होगा?
var date = Date.UTC('2020-01-02T00:00')console.log(date.toUTCString())Date.UTC() वर्ष, महीने आदि के संख्यात्मक आर्ग्यूमेंट चाहता है। यह स्ट्रिंग वैध वर्ष में नहीं बदल सकती, इसलिए कॉल पहले NaN लौटाती है। वह संख्या है, Date ऑब्जेक्ट नहीं; उसकी .toUTCString() कॉल करने पर TypeError आता है।
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d = new Date(2020, 0, 1)d.setDate(1)console.log(d).setDate() मेथड दिए गए इंस्टेंस के वर्तमान महीने के आधार पर महीने का दिन (day of the month) सेट करता है।
यदि उपलब्ध दिनों की संख्या के बाहर कोई वैल्यू दी जाती है, तो डेट इंस्टेंस की महीने वाली वैल्यू अपने आप एडजस्ट हो जाएगी (जैसे जनवरी में setDate(32) करने पर यह 1 फरवरी के रूप में कैलकुलेट होगा।)
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d = new Date(2020, 0, 1)d.setMonth(1)console.log(d).setMonth() मेथड दिए गए date instance का महीना सेट करता है।
महीने का argument zero-based होता है, जिसकी रेंज 0-11 होती है (पश्चिमी कैलेंडर के अनुसार)।
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d = new Date(2020, 0, 1)d.setMonth(12)console.log(d).setMonth() मेथड दिए गए डेट इंस्टेंस का महीना सेट करता है।
month तर्क (argument) ज़ीरो-बेस्ड होता है, जिसमें 0-11 की रेंज में 12 मान होते हैं (पश्चिमी कैलेंडर के अनुसार)।
यहाँ हम देखते हैं कि वर्ष को 2021 में एडजस्ट किया गया है, क्योंकि setMonth(12) का मान 11 (दिसंबर) से 1 अधिक है।
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d = new Date(2020, 0, 1)d.setMonth(13)console.log(d).setMonth() मेथड दिए गए date instance का महीना सेट करता है।
महीने का argument zero-based होता है, जिसकी रेंज 0-11 होती है (पश्चिमी कैलेंडर के अनुसार)।
यहाँ हम देखते हैं कि महीना और साल February 2021 में एडजस्ट हो गया है, क्योंकि setMonth(13) की वैल्यू 11 (December) से 2 ज़्यादा है।
Date ऑब्जेक्ट किस तारीख को दर्शाएगा? कंसोल का प्रदर्शन प्रारूप अलग हो सकता है।
const d = new Date(2020, 0, 1)d.setMonth(-1)console.log(d).setMonth() मेथड दिए गए डेट इंस्टेंस का महीना सेट करता है।
महीने का आर्गुमेंट जीरो-बेस्ड (zero-based) होता है, जिसकी रेंज 0-11 होती है (पश्चिमी कैलेंडर के अनुसार)।
यहाँ हम देखते हैं कि महीना और साल पीछे रोल होकर दिसंबर 2019 पर आ जाते हैं, क्योंकि setMonth(-1) की वैल्यू 0 (जनवरी) से कम है।
