जावास्क्रिप्ट(JavaScript) एक शक्तिशाली प्रोग्रामिंग भाषा है जो वेब डेवलपमेंट में व्यापक रूप से उपयोग की जाती है। इसके विभिन्न कार्यों में से एक महत्वपूर्ण कार्य है डेट (Date) के साथ काम करना। चाहे आपको किसी ईवेंट का समय सेट करना हो, किसी गतिविधि का ट्रैक रखना हो, या केवल वर्तमान दिनांक और समय को प्रदर्शित करना हो, जावास्क्रिप्ट(JavaScript) में डेट से संबंधित कार्यों को आसानी से निष्पादित किया जा सकता है।
इस ब्लॉग पोस्ट में, हम जावास्क्रिप्ट(JavaScript) में डेट ऑब्जेक्ट्स के साथ काम करने के विभिन्न तरीकों और उपयोगों को समझेंगे।
1. जावास्क्रिप्ट में Date ऑब्जेक्ट
जावास्क्रिप्ट में डेट से संबंधित कार्यों को करने के लिए Date
ऑब्जेक्ट का उपयोग किया जाता है। Date
ऑब्जेक्ट दिनांक और समय को दर्शाता है। इसे निम्न प्रकार से उपयोग किया जा सकता है:
// वर्तमान दिनांक और समय प्राप्त करना let currentDate = new Date(); console.log(currentDate);
इस कोड को चलाने पर आपको वर्तमान दिनांक और समय मिलेगा।
2. Date ऑब्जेक्ट बनाना
जावास्क्रिप्ट में डेट ऑब्जेक्ट को कई तरीकों से बनाया जा सकता है:
2.1. खाली Date ऑब्जेक्ट
let date = new Date(); console.log(date);
यह वर्तमान दिनांक और समय लौटाता है।
2.2. दिनांक और समय निर्दिष्ट करके
आप एक विशिष्ट दिनांक और समय के साथ Date ऑब्जेक्ट बना सकते हैं:
let date = new Date(2024, 7, 29, 15, 30, 0); // 29 अगस्त 2024, 3:30 PM console.log(date);
नोट: महीनों की गिनती 0 से शुरू होती है, इसलिए अगस्त = 7 है।
2.3. दिनांक स्ट्रिंग के साथ
आप एक दिनांक स्ट्रिंग का उपयोग करके भी Date ऑब्जेक्ट बना सकते हैं:
let date = new Date("August 29, 2024 15:30:00"); console.log(date);
यह स्ट्रिंग को Date में परिवर्तित करता है।
3.1. दिनांक प्राप्त करने के लिए मेथड्स
- getFullYear(): वर्ष प्राप्त करने के लिए
let year = date.getFullYear(); console.log(year); // 2024
- getMonth(): महीना प्राप्त करने के लिए (0-11)
let month = date.getMonth(); console.log(month); // 7 (अगस्त)
- getDate(): महीने का दिन प्राप्त करने के लिए
let day = date.getDate(); console.log(day); // 29
- getDay(): सप्ताह का दिन प्राप्त करने के लिए (0-6)
let weekday = date.getDay(); console.log(weekday); // 4 (गुरुवार)
3.2. समय प्राप्त करने के लिए मेथड्स
- getHours(): घंटे प्राप्त करने के लिए
let hours = date.getHours(); console.log(hours); // 15 (3 PM)
- getMinutes(): मिनट प्राप्त करने के लिए
let minutes = date.getMinutes(); console.log(minutes); // 30
- getSeconds(): सेकंड प्राप्त करने के लिए
let seconds = date.getSeconds(); console.log(seconds); // 0
- getMilliseconds(): मिलीसेकंड प्राप्त करने के लिए
let milliseconds = date.getMilliseconds(); console.log(milliseconds); // 0
4. दिनांक सेट करने के लिए मेथड्स
जैसे हम दिनांक और समय प्राप्त करने के लिए मेथड्स का उपयोग करते हैं, वैसे ही हम उन्हें सेट करने के लिए भी मेथड्स का उपयोग कर सकते हैं:
- setFullYear(): वर्ष सेट करने के लिए
date.setFullYear(2025);
- setMonth(): महीना सेट करने के लिए
date.setMonth(11); // दिसंबर
- setDate(): महीने का दिन सेट करने के लिए
date.setDate(25);
setHours(), setMinutes(), setSeconds(), setMilliseconds(): समय सेट करने के लिए
5. अन्य उपयोगी मेथड्स
5.1. टाइमस्टैम्प प्राप्त करना
टाइमस्टैम्प वह संख्या है जो 1 जनवरी 1970 से मिलीसेकंड्स में समय को दर्शाती है।
let timestamp = date.getTime(); console.log(timestamp);
5.2. दिनांक की तुलना
जावास्क्रिप्ट में आप दो Date ऑब्जेक्ट्स की तुलना कर सकते हैं:
let date1 = new Date(2024, 7, 29); let date2 = new Date(2024, 7, 30); if (date1 < date2) { console.log("date1 पहले आता है"); } else { console.log("date2 पहले आता है"); }
जावास्क्रिप्ट में डेट को मैनेज करने के लिए date-fns
और toLocaleString
का उपयोग: टाइमज़ोन और फॉर्मेटिंग
जावास्क्रिप्ट में डेट और टाइम को सही ढंग से मैनेज करना एक महत्वपूर्ण कार्य है, विशेषकर जब विभिन्न टाइमज़ोन और फॉर्मेटिंग की बात आती है। इसके लिए हम कुछ बेहतरीन टूल्स और मेथड्स का उपयोग कर सकते हैं, जैसे कि date-fns
लाइब्रेरी और जावास्क्रिप्ट का toLocaleString()
मेथड। इस ब्लॉग में, हम डेट को फॉर्मेट करने, टाइमज़ोन को मैनेज करने और date-fns
लाइब्रेरी का उपयोग करने के बारे में जानेंगे।
1. date-fns
लाइब्रेरी का परिचय
date-fns
एक लोकप्रिय जावास्क्रिप्ट लाइब्रेरी है जो डेट और टाइम को मैनेज करने के लिए उपयोग की जाती है। यह बहुत हल्की, तेज़ और उपयोग में आसान है, और इसमें अनेक उपयोगी फंक्शन्स होते हैं जो आपके काम को आसान बना सकते हैं।
1.1 date-fns
इंस्टाल करना
आप date-fns
को npm या CDN के माध्यम से इंस्टाल कर सकते हैं। यदि आप npm का उपयोग कर रहे हैं:
npm install date-fns
1.2 date-fns
का उपयोग करना
अब हम एक उदाहरण देखते हैं कि कैसे आप date-fns
का उपयोग करके डेट को फॉर्मेट कर सकते हैं:
const { format } = require('date-fns'); // वर्तमान दिनांक और समय const now = new Date(); // डेट को फॉर्मेट करना const formattedDate = format(now, 'dd-MM-yyyy HH:mm:ss'); console.log(formattedDate); // 29-08-2024 15:30:00
इस उदाहरण में, format()
फंक्शन का उपयोग करके डेट को एक खास फॉर्मेट में बदल दिया गया है।
2. toLocaleString()
के साथ फॉर्मेटिंग और टाइमज़ोन
जावास्क्रिप्ट का toLocaleString()
मेथड आपको डेट और टाइम को एक खास भाषा और फॉर्मेट के अनुसार फॉर्मेट करने की सुविधा देता है। आप इसे टाइमज़ोन के साथ भी उपयोग कर सकते हैं।
2.1 toLocaleString()
का उपयोग
यहां एक उदाहरण है कि कैसे आप toLocaleString()
का उपयोग करके डेट को विभिन्न फॉर्मेट्स में बदल सकते हैं:
const date = new Date(); // US English में फॉर्मेट करना console.log(date.toLocaleString('en-US')); // 8/29/2024, 3:30:00 PM // भारतीय फॉर्मेट में console.log(date.toLocaleString('hi-IN')); // 29/8/2024, 15:30:00
2.2 टाइमज़ोन के साथ उपयोग
आप टाइमज़ोन को भी सेट कर सकते हैं:
const options = { timeZone: 'Asia/Kolkata', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, }; const indiaTime = date.toLocaleString('en-IN', options); console.log('India Time:', indiaTime); // 29/08/2024, 15:30:00 const newYorkTime = date.toLocaleString('en-US', { timeZone: 'America/New_York', ...options }); console.log('New York Time:', newYorkTime); // 29/08/2024, 05:00:00
इस कोड में, हमने दो अलग-अलग टाइमज़ोन (India और New York) के लिए डेट और टाइम को फॉर्मेट किया है।
3. टाइमज़ोन के साथ अन्य काम
यदि आप टाइमज़ोन के साथ काम कर रहे हैं और डेट्स के बीच अंतर निकालना चाहते हैं, तो date-fns
इसके लिए भी उपयुक्त है:
const { format, differenceInHours } = require('date-fns'); const indiaDate = new Date().toLocaleString('en-IN', { timeZone: 'Asia/Kolkata' }); const nyDate = new Date().toLocaleString('en-US', { timeZone: 'America/New_York' }); const diffHours = differenceInHours(new Date(indiaDate), new Date(nyDate)); console.log('Difference in Hours:', diffHours); // इंडियन और न्यूयॉर्क टाइम के बीच का अंतर
ECMAScript Internationalization API
ECMAScript Internationalization API जावास्क्रिप्ट में अंतर्राष्ट्रीयकरण (i18n) के लिए एक शक्तिशाली टूल है, जो डेवलपर्स को दिनांक, समय, नंबर, और मुद्राओं को स्थानीयकृत फॉर्मेट में प्रस्तुत करने की अनुमति देता है। यह API विभिन्न भाषाओं, क्षेत्रीय सेटिंग्स, और टाइमज़ोन के अनुसार डेटा को फॉर्मेट करने की सुविधा प्रदान करता है।
1. DateTimeFormat
DateTimeFormat
ऑब्जेक्ट का उपयोग जावास्क्रिप्ट में डेट और समय को फॉर्मेट करने के लिए किया जाता है। यह एक विशेष स्थानीयकृत फॉर्मेट के अनुसार दिनांक और समय को प्रदर्शित करने की अनुमति देता है।
उदाहरण:
const date = new Date(); const formatter = new Intl.DateTimeFormat('en-US', { year: 'numeric', month: 'long', day: 'numeric' }); console.log(formatter.format(date)); // Example Output: August 29, 2024
2. Language and Region Specific Formatting
DateTimeFormat
का उपयोग करके आप अपनी डेट और समय को विभिन्न भाषाओं और क्षेत्रीय सेटिंग्स के अनुसार फॉर्मेट कर सकते हैं। उदाहरण के लिए:
const date = new Date(); const indianFormatter = new Intl.DateTimeFormat('hi-IN', { year: 'numeric', month: 'long', day: 'numeric' }); console.log(indianFormatter.format(date)); // Output in Hindi: 29 अगस्त 2024
यह API विभिन्न भाषाओं और फॉर्मेटिंग विकल्पों को ध्यान में रखते हुए आपकी डेट और समय को सही ढंग से प्रस्तुत करता है।
3. Using TimeZones
ECMAScript Internationalization API का उपयोग करके आप डेट और समय को विभिन्न टाइमज़ोन के अनुसार फॉर्मेट कर सकते हैं।
उदाहरण:
const date = new Date(); const options = { timeZone: 'Asia/Kolkata', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false, }; const indiaTime = new Intl.DateTimeFormat('en-IN', options).format(date); console.log('India Time:', indiaTime); // Example Output: 29/08/2024, 15:30:00
4. Formatting Numbers and Currencies
ECMAScript Internationalization API का उपयोग न केवल डेट और समय के लिए बल्कि नंबर और मुद्रा को फॉर्मेट करने के लिए भी किया जा सकता है। Intl.NumberFormat
का उपयोग करके आप नंबर और मुद्रा को विभिन्न भाषाओं और मुद्राओं के अनुसार फॉर्मेट कर सकते हैं।
उदाहरण:
const number = 1234567.89; const formatter = new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR' }); console.log(formatter.format(number)); // Output: ₹12,34,567.89