घड़ी से कोई बच नहीं सकता, खासकर प्रोग्रामिंग में। जैसे हम अपने दिनों का ट्रैक रखने के लिए घड़ियों और घड़ियों पर भरोसा करते हैं, वैसे ही प्रोग्राम यह जानने के लिए टाइम-ट्रैकिंग टूल्स का उपयोग करते हैं कि क्या होना चाहिए और कब।
कई एप्लिकेशन्स को समय ट्रैक करने की आवश्यकता होती है। एक ब्लॉग एप्लिकेशन को याद रखने की आवश्यकता होती है कि पोस्ट कब बनाया गया था, जबकि एक कैलेंडर एप्लिकेशन आपके निर्धारित इवेंट्स प्रदर्शित करता है।
इस गाइड में, हम चर्चा करते हैं कि JavaScript में तारीख और समय के साथ कैसे काम करें। हम आपको इन टूल्स के साथ काम करने का तरीका दिखाने के लिए कुछ उदाहरणों के माध्यम से चलेंगे।
JavaScript Date ऑब्जेक्ट क्या है?
JavaScript में समय के साथ काम करने के लिए, हम Date ऑब्जेक्ट का उपयोग करते हैं। यह एक विशेष ऑब्जेक्ट है जो तारीख और समय संग्रहीत करता है। क्या अधिक है, Date ऑब्जेक्ट कई मेथड्स के साथ आता है जिनका उपयोग हम तारीख और समय के बारे में विशेष जानकारी के टुकड़े पुनर्प्राप्त करने के लिए कर सकते हैं।
Date ऑब्जेक्ट ऐसा दिखता है:
new Date();
इस ट्यूटोरियल में, आप देखेंगे कि Date कैपिटलाइज़्ड है। ऐसा इसलिए है क्योंकि Date एक बिल्ट-इन JavaScript ऑब्जेक्ट है। Date ऑब्जेक्ट के साथ काम करने के लिए आपको Date शब्द को कैपिटलाइज़ करना होगा।
Date ऑब्जेक्ट का उपयोग कैसे करें
किसी भी मान के बिना, Date ऑब्जेक्ट हमें वर्तमान तारीख और समय बताता है। यह आपके ऑपरेटिंग सिस्टम की सेटिंग्स के आधार पर गणना की जाती है और आपके टाइमज़ोन को ध्यान में रखते हुए।
हम वर्तमान तारीख पुनर्प्राप्त करने के लिए Date ऑब्जेक्ट का उपयोग कर सकते हैं, जैसे यह:
var currentDate = new Date(); console.log(currentDate);
हमारा कोड एक Date ऑब्जेक्ट लौटाता है जिसमें निम्नलिखित मान होते हैं:
Wed Jun 24 2020 10:49:46 GMT+0100 (British Summer Time)
जैसा कि आप देख सकते हैं, यह लेख 24 जून, 2020 को UK में लिखा गया था, जैसा कि हमारे टाइमस्टैम्प से पता चलता है। Date ऑब्जेक्ट की सुंदरता यह है कि यह डेटा को मानव-पठनीय तारीख प्रारूप में लौटाता है ताकि हमारे लिए समझना आसान हो।
Date का उपयोग करके टाइमस्टैम्प पुनर्प्राप्त करना
उपरोक्त कोड हमें मनुष्यों के लिए पठनीय है, लेकिन एक समस्या है - JavaScript अलग तरह से काम करता है। यह Unix टाइमस्टैम्प का उपयोग करके तारीखों की व्याख्या करता है। Unix टाइमस्टैम्प गिनते हैं कि 1 जनवरी, 1970 के बाद से कितने सेकंड बीत चुके हैं। यह वह समय है जब Unix समय शुरू हुआ था।
वर्तमान समय को टाइमस्टैम्प के रूप में पुनर्प्राप्त करने के लिए, आप getTime() मेथड का उपयोग कर सकते हैं:
var currentDate = new Date(); console.log(currentDate.getTime());
हमारा कोड 1592992393313 लौटाता है, एक संख्या जिसे JavaScript द्वारा व्याख्या किया जा सकता है।
Date ऑब्जेक्ट बनाना
Date ऑब्जेक्ट का डिफ़ॉल्ट मान वर्तमान तारीख और समय है। आप इसे किसी विशेष टाइमस्टैम्प या तारीख और समय के आधार पर Date बनाने के लिए बदल सकते हैं।
आप इसे या तो टाइमस्टैम्प, डेट स्ट्रिंग, या संख्याओं के सेट को निर्दिष्ट करके कर सकते हैं जो वर्तमान तारीख और समय से मेल खाते हैं:
- new Date(timestamp)
- new Date(string)
- new Date(year, month, day, hours, minutes, seconds, milliseconds)
मान लीजिए हम 1 जनवरी, 2021 के लिए टाइमस्टैम्प बनाना चाहते हैं। हम ऐसा इस कोड का उपयोग करके कर सकते हैं:
var nextYear = new Date("January 1 2021 12:00");
console.log(nextYear);
हमारा कोड लौटाता है: Fri Jan 01 2021 12:00:00 GMT+0000 (Greenwich Mean Time)
हम इस टाइमस्टैम्प को कोड की इन पंक्तियों का उपयोग करके भी बना सकते थे:
var nextYear = new Date(1609502400000); console.log(nextYear); var nextYear = new Date(2021, 1, 1, 0, 0, 0, 0); console.log(nextYear);
हमारा कोड लौटाता है:
Fri Jan 01 2021 12:00:00 GMT+0000 (Greenwich Mean Time) Fri Jan 01 2021 12:00:00 GMT+0000 (Greenwich Mean Time)
इन सभी मेथड्स से समान Date ऑब्जेक्ट बनता है।
तारीख पुनर्प्राप्त करना
Date ऑब्जेक्ट तारीख के बारे में विशेष जानकारी के टुकड़ों तक पहुंचने के लिए बिल्ट-इन मेथड्स की एक सरणी के साथ आता है। वे मेथड्स जो आपको तारीख के बारे में जानकारी पुनर्प्राप्त करने की अनुमति देते हैं, get से शुरू होते हैं। आपके संदर्भ के लिए यहाँ एक सूची है:
- वर्ष: getFullYear()
- महीना: getMonth() (0 और 11 के बीच, जहां 0 जनवरी है)
- महीने का दिन: getDate() (1 और 31 के बीच)
- सप्ताह का दिन: getDay() (0 और 6 के बीच, जहां रविवार 0 है)
- घंटा: getHours() (0 और 23 के बीच, जहां आधी रात 0 है)
- मिनट: getMinutes()
- सेकंड: getSeconds()
- मिलीसेकंड: getMilliseconds()
- टाइमस्टैम्प: getTime()
मान लीजिए हम अभी जानना चाहते हैं कि समय क्या है। हम ऐसा इस कोड का उपयोग करके कर सकते हैं:
const currentDate = new Date(); console.log(currentDate.getHours());
हमारा कोड 11 लौटाता है। यह हमें दिखाता है कि यह वर्तमान में दिन में 11 घंटे है।
ये फंक्शन्स उपयोगी हैं क्योंकि वे हमें दिन के बारे में विशिष्ट जानकारी के टुकड़े निकालने में मदद करते हैं। हमें किसी स्ट्रिंग को हेरफेर करने के बारे में चिंता करने की आवश्यकता नहीं है; हम केवल वर्तमान समय के बारे में अधिक जानने के लिए get मेथड्स का उपयोग कर सकते हैं।
आप UTC को get और डेट मान के बीच शब्द जोड़कर यूनिवर्सल टाइम कोऑर्डिनेटेड (UTC) का उपयोग करके टाइमस्टैम्प पुनर्प्राप्त कर सकते हैं। डिफ़ॉल्ट रूप से, Date ऑब्जेक्ट उपयोगकर्ता के स्थानीय टाइमज़ोन में जानकारी लौटाएगा। यदि आप कई टाइम ज़ोन में उपयोगकर्ताओं के साथ काम कर रहे हैं, तो घटनाओं के होने का समय आसानी से ट्रैक करने के लिए UTC का उपयोग करना अक्सर सबसे अच्छा होता है।
Date ऑब्जेक्ट अपडेट करना
Date ऑब्जेक्ट्स को Date set मेथड्स का उपयोग करके अपडेट किया जा सकता है। Date ऑब्जेक्ट द्वारा प्रदान किए गए हर get मेथड के लिए एक set मेथड है:
- वर्ष: setFullYear()
- महीना: setMonth()
- महीने का दिन: setDate()
- सप्ताह का दिन: setDay()
- घंटा: setHours()
- मिनट: setMinutes()
- सेकंड: setSeconds()
- मिलीसेकंड: setMilliseconds()
- टाइमस्टैम्प: setTime()
मान लीजिए हम जानना चाहते हैं कि पिछले साल इस तारीख को सप्ताह का कौन सा दिन था। हम setFullYear() का उपयोग करके अपने Date ऑब्जेक्ट पर वर्ष को 2019 पर सेट करके ऐसा कर सकते हैं। फिर, हम सप्ताह के दिन को पुनर्प्राप्त करने के लिए getDay() का उपयोग कर सकते हैं:
const currentDate = new Date();
currentDate.setFullYear(2019);
const daysOfTheWeek = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
const dayLastYear = currentDate.getDay();
console.log('पिछले साल इस दिन यह ' + daysOfTheWeek[dayLastYear] + ' था।');
हमारा कोड लौटाता है: पिछले साल इस दिन यह Tuesday था।
हम पहले वर्तमान तारीख पुनर्प्राप्त करने के लिए Date() का उपयोग करते हैं। फिर हम अपने Date ऑब्जेक्ट पर वर्ष को 2019 पर सेट करने के लिए setFullYear() मेथड का उपयोग करते हैं।
अगला, हम daysOfTheWeek नामक एक ऐरे घोषित करते हैं। यह हमें getDay() द्वारा लौटाई गई संख्या को सप्ताह के दिन में बदलने में मदद करता है।
फिर हम getDay() मेथड का उपयोग यह पता लगाने के लिए करते हैं कि 2019 में इस समय सप्ताह का कौन सा दिन था। फिर, हम पिछले साल इस दिन यह संदेश प्रिंट करते हैं जिसके बाद सप्ताह का दिन आता है।
निष्कर्ष
Date ऑब्जेक्ट का उपयोग करके आप JavaScript में तारीखों और समय के साथ काम कर सकते हैं। Date ऑब्जेक्ट वर्तमान समय के बारे में जानने में आपकी मदद करने के लिए get मेथड्स की एक श्रृंखला और Date और Time ऑब्जेक्ट्स में हेरफेर करने के लिए set मेथड्स के साथ आता है। अब आप JavaScript में तारीख और समय के साथ एक विशेषज्ञ की तरह काम करना शुरू करने के लिए तैयार हैं!