Jquery को वर्तमान समय मिलता है। जावास्क्रिप्ट वर्तमान समय और तारीख प्राप्त करें

पाना आज की तारीखजावास्क्रिप्ट में यह बहुत सरल है। दिनांक ऑब्जेक्ट इसी के लिए है। इसका सिंटैक्स काफी सरल है, और विधि नाम सहज हैं। नीचे दिए गए उदाहरणों में, मैं आपको दिखाऊंगा कि वर्तमान वर्ष, माह, दिन और समय को मिलीसेकंड तक कम करने के लिए दिनांक ऑब्जेक्ट (जावास्क्रिप्ट नई तिथि) के साथ कैसे काम करें!

वर्तमान दिनांक प्राप्त करना:

जावास्क्रिप्ट में वर्तमान दिनांक प्राप्त करने के लिए, दिनांक ऑब्जेक्ट का एक नया उदाहरण बनाने के लिए नए कीवर्ड का उपयोग करें।

वर तिथि = नई तिथि(); कंसोल.लॉग(दिनांक);

यह कोड निम्नलिखित जानकारी को कंसोल पर प्रिंट करता है:

//मंगल फ़रवरी 02 2016 15:46:56 GMT-0500 (पूर्वी मानक समय)

यह सप्ताह का वर्तमान दिन, वर्तमान माह, महीने का दिन, वर्ष और यहां तक ​​कि वर्तमान समय को 24-घंटे के प्रारूप में प्रदर्शित करता है। खंड "जीएमटी" का अर्थ ग्रीनविच मीन टाइम है, और "-0500" स्थानीय समय और जीएमटी के बीच समय क्षेत्र का अंतर है।

विकिपीडिया से उद्धरण: "ग्रीनविच मीन टाइम (जीएमटी) ग्रीनविच, लंदन में रॉयल वेधशाला में औसत सौर समय है।" यह समन्वित सार्वभौमिक समय (यूटीसी) से संबंधित है। प्रदर्शित दिनांक मान में "पूर्वी मानक समय" आपके ब्राउज़र या कंप्यूटर के समय क्षेत्र को संदर्भित करता है।

*कृपया ध्यान दें कि जीएमटी और यूटीसी अलग-अलग हैं। हम मिनटों में यूटीसी मूल्यों पर विचार करेंगे।

* यह भी ध्यान दें कि जावास्क्रिप्ट में एक तारीख मिलीसेकंड में उस समय से निर्धारित होती है जो 01 जनवरी, 1970, यूटीसी की आधी रात के बाद से गुजरा है। एक दिन में 86,400,000 मिलीसेकंड होते हैं। दिनांक ऑब्जेक्ट की सीमा 01 जनवरी 1970, यूटीसी के सापेक्ष -100,000,000 दिनों से 100,000,000 दिनों तक है।

*ऊपर उल्लिखित विधि का उपयोग करके प्राप्त मान आपके डिवाइस की सिस्टम सेटिंग्स पर निर्भर करते हैं। यदि आप अपने कंप्यूटर की घड़ी सेटिंग बदलते हैं, तो इस पद्धति द्वारा लौटाया जाने वाला समय भी बदल जाएगा।

ठीक है, हमने नए दिनांक जावास्क्रिप्ट प्रारूपों का पता लगा लिया है और अब आगे बढ़ने के लिए तैयार हैं!

सप्ताह का दिन प्राप्त करना:

सप्ताह का दिन प्राप्त करने के लिए, दिनांक ऑब्जेक्ट की JavaScript getDay() विधि का उपयोग करें:

var दिन = date.getDay(); कंसोल.लॉग(दिन);

*कृपया ध्यान दें कि सप्ताह के दिन 0 से 6 तक गिने जाते हैं, रविवार = 0, सोमवार = 1, मंगलवार = 2 और इसी तरह।

महीना प्राप्त करना:

चालू वर्ष का चालू माह प्राप्त करने के लिए, getMonth() विधि का उपयोग करें। इससे पहले मैंने कहा था कि विधियों के नाम सहज हैं!

var महीना = date.getMonth(); कंसोल.लॉग(महीना); //1

*ध्यान दें कि, सप्ताह के दिनों की तरह, महीने भी 0 से 11 तक संख्या प्रारूप में लौटाए जाते हैं; जनवरी = 0, फरवरी = 1, मार्च = 2 इत्यादि।

महीने का दिन प्राप्त करना:

महीने का दिन जानने के लिए, आप GetDate() विधि का उपयोग कर सकते हैं।

vardayOfMonth = date.getDate(); कंसोल.लॉग(dayOfMonth); //2

* GetDate() विधि 1 से 31 तक क्रमांकित महीने के दिन लौटाती है; नंबर 1 महीने के पहले दिन से मेल खाता है।

समय मिल रहा है:

वर्तमान समय प्राप्त करने के लिए GetTime() विधि का उपयोग किया जाता है।

var समय = date.getTime(); कंसोल.लॉग(समय); //1454461242058

लगता है... अजीब... यह क्या है? आप 1 जनवरी 1970 00:00:00 यूटीसी के बाद से बीत चुके मिलीसेकंड की संख्या देखते हैं। तो यह कितना पुराना है?

1454461242058 एमएस/315400000000 एमएस प्रति वर्ष = लगभग 46 वर्ष
1970 + 46 वर्ष = 2016

आइए यह सुनिश्चित करने के लिए जाँच करें:

var वर्ष = date.getFullYear(); कंसोल.लॉग(वर्ष) //2016

हाँ येही बात है! हमने नई तारीख का उपयोग करके वर्तमान दिनांक और समय को प्रिंट करने के लिए जावास्क्रिप्ट का उपयोग किया है।

दिनांक और समय हमारे दैनिक जीवन का हिस्सा हैं और इसलिए प्रोग्रामिंग में प्रमुखता से दिखाई देते हैं। जावास्क्रिप्ट में, वेबसाइट बनाते समय, आपको मीटिंग शेड्यूल करने के लिए एक कैलेंडर, ट्रेन शेड्यूल या इंटरफ़ेस जोड़ने की आवश्यकता हो सकती है। इन एप्लिकेशन को उपयोगकर्ता के वर्तमान समय क्षेत्र के आधार पर प्रासंगिक समय दिखाना होगा या किसी विमान के आगमन और प्रस्थान या किसी घटना के प्रारंभ और समाप्ति समय से संबंधित गणना करनी होगी। इसके अतिरिक्त, आपको विशिष्ट समय पर दैनिक रिपोर्ट भेजने या फ़िल्टर करने के लिए (उदाहरण के लिए, एक निश्चित समय पर खुले रेस्तरां खोजने के लिए) जावास्क्रिप्ट का उपयोग करने की आवश्यकता हो सकती है।

दिनांक वस्तु

दिनांक एक अंतर्निहित जावास्क्रिप्ट ऑब्जेक्ट है जो दिनांक और समय संग्रहीत करता है। यह इस डेटा को फ़ॉर्मेट करने और प्रबंधित करने के लिए कई अंतर्निहित तरीके प्रदान करता है।

डिफ़ॉल्ट रूप से, बिना किसी तर्क के एक नया दिनांक उदाहरण वर्तमान दिनांक और समय के अनुसार एक ऑब्जेक्ट बनाता है प्रणाली व्यवस्थावर्तमान कंप्यूटर.

उदाहरण के लिए, किसी वेरिएबल को वर्तमान दिनांक निर्दिष्ट करने का प्रयास करें। एक now.js फ़ाइल बनाएँ।

// वैरिएबल को वर्तमान दिनांक और समय पर सेट करें
अभी स्थिरांक = नई तिथि();
// आउटपुट देखें
अब;
बुध अक्टूबर 18 2017 12:41:34 GMT+0000 (UTC)

आउटपुट एक दिनांक स्ट्रिंग है जिसमें निम्नलिखित डेटा शामिल है:

दिनांक और समय को तोड़ दिया गया है और पढ़ने में आसान तरीके से प्रदर्शित किया गया है।

हालाँकि, जावास्क्रिप्ट यूनिक्स टाइमस्टैम्प के आधार पर तारीख की व्याख्या करता है, जो कि 1 जनवरी, 1970 की आधी रात के बाद से बीत चुके मिलीसेकंड की संख्या से युक्त एक मान है। आप getTime() विधि का उपयोग करके टाइमस्टैम्प प्राप्त कर सकते हैं।

// वर्तमान टाइमस्टैम्प प्राप्त करें
now.getTime();
1508330494000

वर्तमान टाइमस्टैम्प के रूप में आउटपुट में दिखाई देने वाली बड़ी संख्या 1 जनवरी, 1970 की आधी रात से 18 अक्टूबर, 2017 तक बीत चुके मिलीसेकंड की संख्या को दर्शाती है।

एक शून्य समय (या युग समय) दिनांक स्ट्रिंग 01 जनवरी, 1970 00:00:00 यूनिवर्सल टाइम (UTC) और टाइमस्टैम्प 0 द्वारा दर्शाया गया है। आप epoch.js फ़ाइल में एक नया वेरिएबल बनाकर ब्राउज़र में इसका परीक्षण कर सकते हैं। और इसे टाइमस्टैम्प 0 के आधार पर एक नया दिनांक उदाहरण निर्दिष्ट करना।

// टाइमस्टैम्प 0 को एक नए वेरिएबल पर असाइन करें
स्थिरांक युगसमय = नई तिथि(0);
युगसमय;
01 जनवरी, 1970 00:00:00 यूनिवर्सल टाइम (UTC)

कंप्यूटर समय को मापने के लिए शून्य समय को मानक के रूप में चुना गया था, और इस पद्धति का उपयोग जावास्क्रिप्ट में किया जाता है। टाइमस्टैम्प और दिनांक स्ट्रिंग को समझना महत्वपूर्ण है क्योंकि इन अवधारणाओं का उपयोग एप्लिकेशन की सेटिंग्स और उद्देश्य के आधार पर किया जा सकता है।

अब आप जानते हैं कि वर्तमान समय और टाइमस्टैम्प के आधार पर एक नया दिनांक उदाहरण कैसे बनाया जाता है। जावास्क्रिप्ट में कुल चार दिनांक प्रारूप हैं। डिफ़ॉल्ट वर्तमान समय और टाइमस्टैम्प के अलावा, आप दिनांक स्ट्रिंग का भी उपयोग कर सकते हैं या एक विशिष्ट दिनांक और समय निर्दिष्ट कर सकते हैं।

प्रदर्शन करना विभिन्न तरीकेकिसी विशिष्ट तिथि के संदर्भ में, नई दिनांक ऑब्जेक्ट बनाने का प्रयास करें जो 4 जुलाई, 1776, 12:30 GMT को तीन अलग-अलग तरीकों से दर्शाते हैं।

// टाइमस्टैम्प विधि
नई तिथि(-6106015800000);
// दिनांक स्ट्रिंग विधि
नई तिथि ("31 जनवरी 1980 12:30");
// दिनांक और समय विधि
नई तिथि(1776, 6, 4, 12, 30, 0, 0);

ये सभी उदाहरण एक ही दिनांक और समय की जानकारी को तीन अलग-अलग तरीकों से दर्शाते हैं।

जैसा कि आप देख सकते हैं, टाइमस्टैम्प विधि में एक ऋणात्मक संख्या है; समय शून्य से पहले की किसी भी तारीख को ऋणात्मक संख्या के रूप में दर्शाया जाएगा।

तीसरे उदाहरण में, सेकंड और मिलीसेकंड को 0 द्वारा दर्शाया जाता है। यदि आप दिनांक ऑब्जेक्ट बनाते समय कोई डेटा खो रहे हैं, तो आपको इसे 0 पर असाइन करना होगा। गुम डेटा को छोड़ा नहीं जा सकता क्योंकि स्ट्रिंग में समय डेटा का क्रम नहीं है परिवर्तन। यह भी ध्यान दिया जाना चाहिए कि जुलाई के महीने को यहां 6 के रूप में निर्दिष्ट किया गया है, न कि 7 के रूप में। ऐसा इसलिए है क्योंकि उलटी गिनती 1 से नहीं, बल्कि 0 से शुरू होती है। इस पर अगले भाग में अधिक जानकारी दी जाएगी।

प्राप्त के साथ दिनांक पुनर्प्राप्त करना

किसी तारीख को देखते हुए, आप विभिन्न अंतर्निहित तरीकों का उपयोग करके इसके सभी घटकों तक पहुंच सकते हैं। विधियाँ प्रत्येक दिनांक भाग को स्थानीय समय क्षेत्र के सापेक्ष लौटाती हैं। इनमें से प्रत्येक विधि प्राप्त से शुरू होती है और एक सापेक्ष संख्या लौटाती है। दिनांक ऑब्जेक्ट के लिए प्राप्त विधियों की एक विस्तृत तालिका नीचे दी गई है।

दिनांक समय तरीका श्रेणी उदाहरण
वर्ष पूर्णवर्ष प्राप्त करें() हाँ 1970
महीना getMonth() 0-11 0 = जनवरी
महीने का दिन तारीख लें() 1-31 1 = महीने की पहली तारीख
सप्ताह का दिन गेटडे() 0-6 0 = रविवार
घंटा getHours() 0-23 0 = आधी रात
मिनट getMinutes() 0-59
दूसरा getSeconds() 0-59
मिलीसेकंड मिलिसेकंड्स() 0-999
समय-चिह्न समय निकालो()

// एक नया जन्मदिन उदाहरण प्रारंभ करें
स्थिरांक जन्मदिन = नई तिथि(1980, 6, 31);

अब आप प्रत्येक दिनांक घटक को निकालने के लिए सभी विधियों का उपयोग कर सकते हैं।

जन्मदिन.getFullYear(); // 1980
जन्मदिन.getMonth(); // 6
जन्मदिन.getDate(); //31
जन्मदिन.getDay(); //4
जन्मदिन.getHours(); // 0
जन्मदिन.getMinutes(); // 0
जन्मदिन.getSeconds(); // 0
जन्मदिन.मिलीसेकंड(); // 0
जन्मदिन.getTime(); //333849600000 (जीएमटी के लिए)

कभी-कभी आपको किसी तिथि का केवल एक भाग निकालने की आवश्यकता होती है, और अंतर्निहित प्राप्त विधियाँ इसमें आपकी सहायता करेंगी।

उदाहरण के लिए, आप यह पता लगाने के लिए कि यह 3 अक्टूबर है या नहीं, वर्तमान तारीख की तुलना 3 अक्टूबर से कर सकते हैं।

// आज की तारीख प्राप्त करें
स्थिरांक आज = ​​नई तिथि();
// आज की तुलना 3 अक्टूबर से करें
यदि (today.getDate() === 3 और आज.getMonth() === 9) (
कंसोल.लॉग ("यह 3 अक्टूबर है");
) अन्य (
कंसोल.लॉग ("यह 3 अक्टूबर नहीं है");
}
यह 3 अक्टूबर नहीं है.

अंतर्निहित प्राप्त विधियाँ आपको दिनांक घटकों तक पहुँचने की अनुमति देती हैं।

सेट के साथ तारीख बदलना

ऊपर सूचीबद्ध सभी प्राप्त विधियों के लिए, एक संगत सेट विधि है। यदि get का उपयोग किसी विशिष्ट दिनांक घटक को पुनः प्राप्त करने के लिए किया जाता है, तो set का उपयोग उन घटकों को संशोधित करने के लिए किया जाता है। दिनांक ऑब्जेक्ट के लिए सेट विधियों की एक विस्तृत तालिका नीचे दी गई है।

दिनांक समय तरीका श्रेणी उदाहरण
वर्ष सेटफुलईयर() हाँ 1970
महीना सेटमाह() 0-11 0 = जनवरी
महीने का दिन तारीख सेट करें() 1-31 1 = महीने की पहली तारीख
सप्ताह का दिन सेटडे() 0-6 0 = रविवार
घंटा सेट घंटे() 0-23 0 = आधी रात
मिनट सेटमिनट() 0-59
दूसरा सेटसेकंड() 0-59
मिलीसेकंड सेटमिलीसेकंड() 0-999
समय-चिह्न निर्धारित समय() शून्य समय से मिलीसेकेंड की संख्या

इन सेट विधियों का उपयोग एक या अधिक दिनांक घटकों को बदलने के लिए किया जा सकता है। उदाहरण के लिए, आप जन्मदिन चर में वर्ष को 1997 में बदल सकते हैं।

//जन्मदिन की तारीख का वर्ष बदलें
जन्मदिन.सेटपूर्णवर्ष(1997);
जन्मदिन;
गुरु जुलाई 31 1997 00:00:00 जीएमटी+0000 (यूटीसी)

अब, जब आप जन्मदिन चर कहते हैं, तो आपको 1980 नहीं, बल्कि 1997 दिखाई देता है।

अंतर्निहित सेट विधियाँ आपको दिनांक ऑब्जेक्ट के विभिन्न भागों को बदलने की अनुमति देती हैं।

यूटीसी तरीके

ऊपर वर्णित प्राप्त विधियाँ दिनांक घटकों को पुनः प्राप्त करने के आधार पर प्राप्त करती हैं स्थानीय सेटिंग्सउपयोगकर्ता का समय क्षेत्र. तिथियों और समय पर नियंत्रण बढ़ाने के लिए, आप getUTC विधियों का उपयोग कर सकते हैं, जो प्राप्त विधियों के समान ही काम करते हैं लेकिन UTC (समन्वित यूनिवर्सल टाइम) के आधार पर समय की गणना करते हैं। नीचे जावास्क्रिप्ट में दिनांक ऑब्जेक्ट के लिए यूटीसी विधियों की एक तालिका है।

दिनांक समय तरीका श्रेणी उदाहरण
वर्ष getUTCFपूर्णवर्ष() हाँ 1970
महीना getUTCMonth() 0-11 0 = जनवरी
महीने का दिन getUTCDate() 1-31 1 = महीने की पहली तारीख
सप्ताह का दिन getUTCDay() 0-6 0 = रविवार
घंटा getUTCHours() 0-23 0 = आधी रात
मिनट getUTCMinutes() 0-59
दूसरा getUTCSecends() 0-59
मिलीसेकंड getUTCमिलीसेकंड() 0-999

स्थानीय प्राप्त विधियों और यूटीसी प्राप्त विधियों के बीच अंतर का परीक्षण करने के लिए, निम्नलिखित कोड चलाएँ।

// एक वेरिएबल को वर्तमान समय निर्दिष्ट करें
अभी स्थिरांक = नई तिथि();
// स्थानीय और यूटीसी समयक्षेत्र प्रिंट करें
कंसोल.लॉग(अब.गेटहॉर्स());
कंसोल.लॉग(अब.getUTCHours());

यह कोड वर्तमान समय और UTC समय क्षेत्र को आउटपुट करेगा। यदि आप वर्तमान में यूटीसी समय क्षेत्र में हैं, तो प्रोग्राम जो संख्याएँ आउटपुट करेगा वही वही होंगी।

यूटीसी एक अंतरराष्ट्रीय समय मानक प्रदान करता है और इसलिए यदि आपके कार्यक्रम में आवश्यकता हो तो समय क्षेत्रों से मिलान करने के लिए कोड का समर्थन कर सकता है।

निष्कर्ष

इस ट्यूटोरियल में, आपने सीखा कि किसी दिनांक ऑब्जेक्ट को कैसे इंस्टेंट किया जाए और किसी विशिष्ट दिनांक के घटकों तक पहुंचने और संशोधित करने के लिए इसकी अंतर्निहित विधियों का उपयोग कैसे किया जाए। आप मोज़िला डेवलपर नेटवर्क पर जावास्क्रिप्ट में समय और तारीख के बारे में अधिक जानकारी पा सकते हैं।

नियमित रिपोर्ट बनाने से लेकर सही समय क्षेत्र में दिनांक और शेड्यूल प्रदर्शित करने तक, कई सामान्य जावास्क्रिप्ट कार्यों के लिए तारीखों के साथ काम करने का तरीका जानना महत्वपूर्ण है।

टैग:

वेबसाइटों के लिए एक और उपयोगी चीज़ वर्तमान दिनांक डालना है। दिनांक स्क्रिप्ट के दर्जनों उदाहरण इंटरनेट पर पाए जा सकते हैं, लेकिन उनमें से कई, मेरी राय में, बोझिल हैं और इसलिए बदसूरत हैं। इस बीच, का उपयोग कर मानक साधनजावास्क्रिप्ट, आप बहुत ही सरलता से किसी वेबसाइट पेज में तारीख डाल सकते हैं। मैं इसे अक्सर उपयोग करता हूँ! स्केज़्का एस्टेट की तस्वीर (वर्तमान वेबसाइट से स्क्रीनशॉट) में!

यहाँ संपूर्ण दिनांक स्क्रिप्ट है:

मेरी राय में, यह इससे अधिक सरल, सुंदर और समझने योग्य नहीं हो सकता। यदि आपको इस लिपि की संरचना का अध्ययन करने की कोई इच्छा नहीं है, तो बस इसे HTML पृष्ठ पर कहीं भी चिपकाएँ और निम्नलिखित शिलालेख प्राप्त करें:

एक और अधिक उन्नत विकल्प

//
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
! आज
// + " " + d.getFullYear() + " g");
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>
// ]]>

यह इस तरह दिख रहा है:

आज

सामान्य तौर पर, किसी कौशल की आवश्यकता नहीं है, बस मूर्खतापूर्ण तरीके से कोड डालें और सब कुछ ठीक है!

अधिक जानकारी:

इसलिए, हम वेरिएबल डी को दिनांक मान निर्दिष्ट करके शुरू करते हैं, फिर सप्ताह (दिन) और महीनों (महीने) के दिनों के लिए सरणी (सरणी) बनाते हैं, उन्हें आवश्यक व्याकरणिक रूप में निर्दिष्ट करते हैं: केस, संख्या, बड़े अक्षर यदि शब्द दिनांक आदि के आरंभ में प्रकट होता है। स्क्रिप्ट की अंतिम पंक्ति मुद्रण की वास्तविक तिथि (दस्तावेज़.लिखें) है। यहां आप यह निर्धारित करते हैं कि आप वर्तमान दिनांक पंक्ति में क्या और किस क्रम में प्रदर्शित करेंगे। घटकों को + चिन्ह द्वारा एक दूसरे से अलग किया जाता है। किसी स्थान में प्रवेश करने के लिए, " " निर्माण का उपयोग करें, और अक्षर g (वर्ष) दर्ज करने के लिए " g " निर्माण का उपयोग करें।

जैसा कि आप स्क्रिप्ट से देख सकते हैं, वर्तमान समय के बारे में डेटा प्राप्त करना get तत्व द्वारा किया जाता है। यह विधि आपको निम्नलिखित जानकारी प्राप्त करने की अनुमति देती है:

  • getDate() - महीने के दिन को दर्शाने वाली 1 से 31 तक की संख्या लौटाता है;
  • getDay() - सप्ताह का दिन 0 (रविवार) से 6 (शनिवार) तक पूर्णांक के रूप में लौटाता है;
  • getMonth() - वर्ष में महीने की संख्या लौटाता है;
  • getFullYear() - वर्ष लौटाता है। यदि आप बस getYear() का उपयोग करते हैं, तो वर्तमान वर्ष माइनस 1900 प्रदर्शित किया जाएगा;
  • घंटे प्राप्त करें() - दिन का घंटा लौटाता है;
  • getMinutes() - 0 से 59 तक की संख्या के रूप में मिनट लौटाता है;
  • getSeconds() - 0 से 59 तक सेकंड की संख्या लौटाता है।

किसी वेबसाइट पेज में सीधे जावा स्क्रिप्ट डालना हमेशा सुविधाजनक नहीं होता है। स्क्रिप्ट के विवरण को पेज की शुरुआत में टैग के बीच रखना और एक वेरिएबल सेट करना बेहतर है जिसे हम टेक्स्ट में आवश्यकतानुसार कॉल करेंगे। चलिए इसे TODAY कहते हैं और इसमें उपरोक्त के समान दिनांक आउटपुट फॉर्म परिभाषित करते हैं। स्क्रिप्ट इस तरह दिखेगी:


दिनांक प्रदर्शित करने के लिए, निम्न आदेश का उपयोग करके पृष्ठ के HTML कोड में वांछित स्थान पर स्क्रिप्ट को कॉल करें:


दस्तावेज़.लिखें(आज);

यदि आपकी साइट में कई पृष्ठ हैं जिन पर आपको तारीख प्रदर्शित करने की आवश्यकता है, तो तारीख को एक अलग फ़ाइल में प्रदर्शित करने के लिए जावा स्क्रिप्ट को अलग करना अधिक सुविधाजनक है, उदाहरण के लिए, डेटा.जेएस। व्यवहार में, यह एक पृष्ठ है जिसमें वर्णित स्क्रिप्टों में से पहला शामिल है, यानी लाइन document.write (ऊपर देखें) के साथ। इसे मुख्य पृष्ठ के समान निर्देशिका में स्थित होना चाहिए, और उस स्थान पर बुलाया जाना चाहिए जहां दिनांक निम्नानुसार प्रदर्शित होती है:


यह जांचना न भूलें कि data.js फ़ाइल में मुख्य दस्तावेज़ के समान एन्कोडिंग है, अन्यथा तारीख अद्भुत हुक, वर्ग और अन्य युक्तियों के साथ प्रदर्शित की जाएगी।

टिप्पणी।यह ध्यान में रखा जाना चाहिए कि वर्णित स्क्रिप्ट उपयोगकर्ता के कंप्यूटर पर निर्धारित तिथि प्रदर्शित करती है, जो हमेशा वास्तविक वर्तमान समय के अनुरूप नहीं होती है। यदि आपको सटीक समय दिखाने की आवश्यकता है, तो आपको एक PHP स्क्रिप्ट का उपयोग करना होगा जो सर्वर पर समय दिखाएगा।

वर्तमान दिनांक और समय वाली नई दिनांक ऑब्जेक्ट बनाने के लिए नई दिनांक() का उपयोग करें।

ध्यान दें कितारीख() बिना तर्क के बुलाए जाने के बराबर हैनई तिथि(तारीख.अब()) .

एक बार जब आपके पास दिनांक ऑब्जेक्ट हो, तो आप उसके गुणों को पुनः प्राप्त करने के लिए कई उपलब्ध तरीकों में से किसी एक का उपयोग कर सकते हैं (उदाहरण के लिए, 4-अंकीय वर्ष प्राप्त करने के लिए getFullYear())।

नीचे कुछ सामान्य दिनांक विधियाँ दी गई हैं।

वर्तमान वर्ष प्राप्त करें var वर्ष = (नई तिथि()).getFullYear(); कंसोल.लॉग(वर्ष); // नमूना आउटपुट: 2016 वर्तमान माह प्राप्त करें var महीना = (नई तिथि()).getMonth(); कंसोल.लॉग(महीना); // नमूना आउटपुट: 0

ध्यान दें कि 0 = जनवरी. ऐसा इसलिए है क्योंकि महीने अलग-अलग होते हैं 0 पहले 11 , इसलिए अक्सर सूचकांक में +1 जोड़ना वांछनीय होता है।

वर्तमान दिन प्राप्त करें var दिन = (नई तिथि()).getDate(); कंसोल.लॉग(दिन); // नमूना आउटपुट: 31 वर्तमान घंटा प्राप्त करें var घंटे = (नई तिथि()).getHours(); कंसोल.लॉग(घंटे); // नमूना आउटपुट: 10 वर्तमान मिनट प्राप्त करें var मिनट = (नई तिथि()).getMinutes(); कंसोल.लॉग(मिनट); // नमूना आउटपुट: 39 वर्तमान सेकंड प्राप्त करें var सेकंड = (नई तिथि()).getSeconds(); कंसोल.लॉग(दूसरा); // नमूना आउटपुट: 48 वर्तमान मिलीसेकंड प्राप्त करें

दिनांक ऑब्जेक्ट इंस्टेंस के मिलीसेकंड (0 से 999 तक) प्राप्त करने के लिए, getMillisensitive विधि का उपयोग करें।

वार मिलीसेकंड = (नई तिथि()).getमिलीसेकंड(); कंसोल.लॉग(मिलीसेकंड); // आउटपुट: अभी मिलीसेकंड

वर्तमान समय और दिनांक को मानव-पठनीय स्ट्रिंग में परिवर्तित करना var now = new Date(); // दिनांक को यूटीसी टाइमज़ोन प्रारूप में एक स्ट्रिंग में बदलें: कंसोल.लॉग(अब.टूयूटीसीस्ट्रिंग()); // आउटपुट: बुध, 21 जून 2017 09:13:01 जीएमटी

Date.now() स्थैतिक विधि 1 जनवरी, 1970, 00:00:00 UTC के बाद से बीत चुके मिलीसेकंड की संख्या लौटाती है। दिनांक ऑब्जेक्ट इंस्टेंस का उपयोग करके तब से बीत चुके मिलीसेकंड की संख्या प्राप्त करने के लिए, इसकी गेटटाइम विधि का उपयोग करें।

// Date console.log(Date.now()) के अभी स्थिर विधि का उपयोग करके मिलीसेकंड प्राप्त करें; // विधि गेटटाइम ऑफ़ डेट इंस्टेंस कंसोल.लॉग((नई तिथि()).गेटटाइम()) का उपयोग करके मिलीसेकंड प्राप्त करें;

नमस्ते!
मुझे अक्सर सांख्यिकीय डेटा के साथ काम करना पड़ता है और इसमें से बहुत कुछ तारीखों से जुड़ा होता है। इसके अलावा, एक ही तारीख का उपयोग किसी पृष्ठ पर विभिन्न प्रारूपों में किया जा सकता है (उदाहरण के लिए, मशीन-अनुकूल प्रारूप में और मानव-अनुकूल प्रारूप में)। मुझे लगता है कि आपमें से अधिकांश लोग डेट ऑब्जेक्ट के उपयोग से निकलने वाले सभी भयानक कोड से अच्छी तरह परिचित हैं।
उदाहरण के लिए, वर्तमान दिनांक को DD.MM.YYYY प्रारूप में प्राप्त करने के लिए हमें निम्नलिखित कार्य करने होंगे:
var d = नई तिथि(), fd = d.getDate() + "।" + (d.getMonth()+1) + "।" + d.getFullYear();
और ऐसी रेखाएँ कब असंख्य हो जाती हैं? क्या यह याद रखना आसान है कि जावास्क्रिप्ट में महीना शून्य से शुरू होता है जब आप न केवल इसमें विकास करते हैं? या तथ्य यह है कि बैकएंड पर लगभग हर जगह की तरह, यहां मिलीसेकंड हैं, सेकंड नहीं? आप लोकप्रिय Moment.js लाइब्रेरी से कुछ समस्याओं का समाधान कर सकते हैं, लेकिन यह बहुत धीमी गति से काम करती है।
विचाराधीन पुस्तकालय इन समस्याओं का समाधान करता है।
यदि आप रुचि रखते हैं, तो मेरा सुझाव है कि आप यह संक्षिप्त समीक्षा पढ़ें।

TempusJS में डेट ऑब्जेक्ट पर बहुत अधिक सिंटैक्टिक शुगर होती है, इसलिए यह बहुत तेज़ है। लाइब्रेरी का सिंटैक्स स्वयं बहुत सरल है। उदाहरण के लिए, आप पिछला उदाहरण इस प्रकार लिख सकते हैं:
var fd = tempus().format('%d.%m.%Y');
अब गति के बारे में। स्पॉइलर में आप टेम्पस की मोमेंट के साथ तुलना और दिनांक को फ़ॉर्मेट करने का मूल तरीका देख सकते हैं (ऊपर देखें):

देशी JS, MomentJS और TempusJS की तुलना

वर्तमान तिथि प्राप्त करें नेटिव जेएस x 2,175,575 ऑप्स/सेकंड ±0.75% (96 रन नमूना) मोमेंट x 284,864 ऑप्स/सेकंड ±0.85% (96 रन नमूना) टेम्पस x 2,086,081 ऑप्स/सेकंड ±0.73% (97 रन नमूना) फ़ॉर्मेटिंग नेटिव जेएस x 1,637,517 ऑप्स/सेकंड ±0.61% (100 रन नमूना) मोमेंट x 8,808 ऑप्स/सेकंड ±1.07% (100 रन नमूना) टेम्पस x 942,815 ऑप्स/सेकंड ±0.68% (94 रन नमूना) स्वचालित तिथि पहचान और पार्सिंग नेटिव जेएस x 11,204,316 ऑप्स/सेकंड ±0.81% (88 रन नमूना) मोमेंट x 38,511 ऑप्स/सेकंड ±1.41% (95 रन नमूना) टेंपस x 93,973 ऑप्स/सेकंड ±1.06% (85 रन नमूना) दिनांक पार्सिंग प्रारूप मोमेंट x 46,293 ऑप्स/सेकंड ±0.63 % (100 रन नमूना) टेंपस x 109,947 ऑप्स/सेकंड ±0.93% (99 रन नमूना) पार्सिंग और सत्यापन क्षण x 44,588 ऑप्स/सेकंड ±1.09% (90 रन नमूना) टेंपस x 103,439 ऑप्स/सेकंड ±0.90% (94 रन नमूना) )
परिणाम मेरे लैपटॉप पर प्राप्त किए गए गूगल क्रोम 30.0.1599.114. अन्य ब्राउज़रों में परिणाम भिन्न होते हैं, लेकिन अनुपात लगभग समान रहता है।
परीक्षणों के लिए बेंचमार्क.जेएस लाइब्रेरी का उपयोग किया गया था
अन्य कार्यों के लिए बेंचमार्क, आप देख सकते हैं।

तो, इस लाइब्रेरी के फायदे इस प्रकार लिखे जा सकते हैं:

  • IE6+, क्रोम, फ़ायरफ़ॉक्स, ओपेरा का समर्थन करता है;
  • कॉल चेन का समर्थन करता है;
  • महीने शून्य के बजाय 1 (डिफ़ॉल्ट) से शुरू हो सकते हैं;
  • मिलीसेकंड को अक्षम (डिफ़ॉल्ट) या सक्षम किया जा सकता है;
  • तेज़ संचालन (चूंकि, कई मामलों में, ब्राउज़र की मूल दिनांक ऑब्जेक्ट का उपयोग किया जाता है, जिसका कार्यान्वयन तेज़ भाषाओं में लिखा जाता है);
  • कस्टम प्रारूपों और प्लगइन्स का समर्थन करता है
  • दिनांक सत्यापन बहुत तेज़ है और केवल उन कार्यों पर निर्भर करता है जो दिनांक निर्धारित करते हैं (चूंकि सत्यापन तब होता है जब मान दर्ज किए जाते हैं, और अलग से गणना नहीं की जाती है);
  • बहुभाषी और उपयोगकर्ता भाषा का स्वत: पता लगाना।

यहां हम केवल कुछ कार्यों के बारे में बात करेंगे।

फ़ॉर्मेटिंग और पार्सिंग

तो, सबसे पहले, दिनांक स्वरूपण का एक और उदाहरण। यहां हम कॉल चेनिंग का भी उपयोग करते हैं। प्रत्येक मान सेटिंग के अंत में, हमें एक TempusDate ऑब्जेक्ट वापस मिलता है जिसे हम श्रृंखला में आगे उपयोग कर सकते हैं। उदाहरण:
टेम्पस()। // एक नई तारीख कैल्क प्राप्त करें ((महीना: -1))। // इसे एक महीने के प्रारूप से कम करें ("%d.%m.%Y"); // एक स्ट्रिंग के रूप में आउटपुट
इस प्रकार, हमें वही दिन, घंटा और सेकंड मिलेगा, लेकिन एक महीने पहले। यह पिछले महीने की रिपोर्ट प्राप्त करने के लिए उपयोगी हो सकता है।

अगला उदाहरण दिनांक पार्सिंग है।
// दिनांक "2013-11-18" tempus("11/18/2013") के साथ एक TempusDate ऑब्जेक्ट लौटाएं; // दिनांक "2013-12-12" tempus("2013-12-12", "%Y-%m-%d") के साथ एक TempusDate ऑब्जेक्ट लौटाएं;
टेम्पस स्वचालित रूप से कुछ ज्ञात प्रारूपों का पता लगा सकता है। साथ ही, आप एक विशिष्ट प्रारूप निर्दिष्ट कर सकते हैं, फिर पार्सिंग तेज़ होगी। साथ ही, आप एक तिथि निर्धारित कर सकते हैं जो पार्सिंग विफल होने पर वापस कर दी जाएगी:
// क्योंकि "123" "%d.%m.%Y" प्रारूप में फिट नहीं होता है, तो // एक ऑब्जेक्ट जिसमें दिनांक 2013-01-01 tempus("123", "%d.%m.%Y", tempus शामिल है लौटा दिया जाएगा ());
डिफ़ॉल्ट स्वरूपों की सूची देखी जा सकती है

अब पहले से फ़ॉर्मेट की गई तारीख का फ़ॉर्मेट बदलते हैं
// "2013-11-05" tempus("05.11.2013").format("%Y-%m-%d"); // या इस तरह // "अक्टूबर, 12" टेम्पस("2013-10-12 12:31:01", "%Y-%m-%d %H:%M:%S").format(" % बी, %d");

आप फ़ॉर्मेटिंग के लिए स्थानीयकरण का भी उपयोग कर सकते हैं. डिफ़ॉल्ट रूप से, उपयोगकर्ता की भाषा का चयन किया जाएगा (ब्राउज़र से लिया गया) या यदि उपयोगकर्ता की भाषा उपलब्ध टेम्पस भाषाओं में नहीं पाई जाती है तो डिफ़ॉल्ट भाषा का चयन किया जाएगा।
// भाषा सेट करें tempus.lang("ru"); // हम मानक के रूप में प्रारूप का उपयोग करते हैं // "नवंबर, 05" tempus(1383609600).format("%B, %d");
फिलहाल केवल दो भाषाएं हैं - रूसी और अंग्रेजी, इसलिए मुझे मदद करने में खुशी होगी।

सत्यापन किसी तिथि का सत्यापन निम्नानुसार होता है:
// गलत टेम्पस लौटाता है("08/32/2013", "%d.%m.%Y").valid(); // सही टेम्पस लौटाएं("00:00 01/01/2012", "%H:%M %d.%m.%Y").valid();

किसी त्रुटि की स्थिति में, आप उन फ़ील्ड्स को देख सकते हैं जिनमें यह घटित हुई है - जहां भी मान गलत नहीं है:
// रिटर्न ("वर्ष":-5,"महीना":झूठा,"दिन":गलत,"घंटे":गलत, // "मिनट":गलत,"सेकेंड":गलत,"मिलीसेकंड":गलत) टेम्पस (). वर्ष(-5). // वर्ष सेट करें=-5, अर्थात अमान्य त्रुटियाँ(); // त्रुटियों के साथ एक वस्तु प्राप्त करें

दिनांक सीमाएँ कभी-कभी हमें वर्षों की संख्या (उदाहरण के लिए, आयु), महीने, दिन, आदि प्राप्त करने की आवश्यकता होती है। दो तिथियों के बीच. ऐसा करने के लिए, हम बिटवीन विधि का उपयोग कर सकते हैं, जो दो तिथियों के बीच अंतर ढूंढती है और इसे वांछित प्रारूप ("वर्ष", "महीना", "दिन", "घंटे", "मिनट", "सेकंड") में लौटाती है। "मिलीसेकंड").
1 नवंबर 2013 और 5 मई 2014 के बीच महीनों की संख्या प्राप्त करने का एक सरल उदाहरण यहां दिया गया है:
// रिटर्न 6 टेम्पस().बीच(टेम्पस(), "माह");
या नया साल आने में कितने घंटे बचे हैं
tempus().between(tempus(), "hours");
पिछले उदाहरण में, आप देखेंगे कि मैंने केवल वर्ष निर्दिष्ट किया है। किसी सरणी या ऑब्जेक्ट द्वारा मान सेट करते समय, लुप्त मान होंगे
न्यूनतम से भरा हुआ आप दस्तावेज़ में न्यूनतम मान वाले स्थिरांकों की एक सूची देख सकते हैं।

इसके अलावा, हम कैल्क फ़ंक्शन का उपयोग करके किसी भी तारीख को बदल सकते हैं:
// दिनांक 2012-01-01 के साथ TempusDate लौटाएं tempus().calc((वर्ष: 1, महीना: -4, दिन: -1));

कस्टम प्रारूप हम महीने के लिए अपना स्वयं का प्रारूप लागू करते हैं, जो 1 से 12 तक मान ले सकता है (01 से 12 नहीं):
// एक नया प्रारूप tempus.registerFormat ("%q", // निर्देश - %q फ़ंक्शन (दिनांक) पंजीकृत करें ( // यहां हम फ़ॉर्मेटिंग फ़ंक्शन को इंगित करते हैं, अर्थात %q रिटर्न दिनांक.माह() के लिए क्या प्रतिस्थापित किया जाएगा; ) , फ़ंक्शन (मान) ( // और यहां पार्सिंग फ़ंक्शन है var v = संख्या (मान); वापसी (महीना: (isNaN (v) ? अपरिभाषित: v)); ), 1, // न्यूनतम लंबाई वह मान 2 ले सकता है, // अधिकतम लंबाई "संख्या" // प्रकार); // टेस्ट // रिटर्न "01.1.2013"; टेम्पस((वर्ष: 2013, माह: 1, दिन: 1)).प्रारूप("%d.%q.%Y"); // रिटर्न ("वर्ष": 2013, "माह": 2, "दिन": 10, "घंटे": 0, "मिनट": 0, "सेकंड": 0); टेम्पस('10.2.2013', '%d.%q.%Y').get();
पंजीकरण के दौरान, आप देख सकते हैं कि कुछ पैरामीटर अलग से निर्दिष्ट हैं, जबकि एक नियमित अभिव्यक्ति का उपयोग किया जा सकता है। दरअसल, शुरुआत में तो यह था, लेकिन इसे छोड़ने के बाद गति कई दर्जन गुना बढ़ गई।
यदि आपको कोई प्रारूप हटाना है, तो unregisterFormat का उपयोग करें:
tempus.unregisterFormat("%d"); // रिटर्न "%d.01.2013", क्योंकि %d निर्देश अब मौजूद नहीं है. tempus.format((वर्ष: 2013, माह: 1, दिन: 1), "%d.%m.%Y"); गेटर्स/सेटर्स आप फ़ंक्शन वर्ष(), महीना(), दिन(), घंटे(), मिनट(), सेकंड(), मिलीसेकंड(), दिनऑफवीक(), utc() का उपयोग करके कुछ मान प्राप्त/सेट कर सकते हैं , टाइमस्टैम्प() या सेट()। उदाहरण के लिए:
टेम्पस()। // वर्तमान दिनांक वर्ष (1900) प्राप्त करें। // सब कुछ वैसे ही छोड़ दें, लेकिन वर्ष को 1900 लीपईयर() पर सेट करें; // जांचें कि क्या यह एक लीप वर्ष है, इस मामले में गलत टेम्पस().वर्ष(); // और इस प्रकार हमें वर्तमान वर्ष संख्यात्मक रूप में मिलता है, तारीखें उत्पन्न करना आप कई तरीकों से तारीख तैयार कर सकते हैं, पूरी सूचीपैरामीटर दस्तावेज़ में हैं। यहाँ एक न्यूनतम उदाहरण है.
// रिटर्न ["03/29/2013", "03/30/2013", "03/31/2013", "04/01/2013", "04/02/2013"]; tempus.generate(( dateFrom: "20130329", प्रारूपFrom: "%Y.%m.%d", dateTo: "20130402", अवधि: (दिन: 1), प्रारूप: "%d.%m.%Y" ));
यह दिनांक के अनुसार ग्राफ़ प्रदर्शित करने और बैकएंड के अनुरोध के बिना सीधे क्लाइंट पर डिस्प्ले प्रारूप बदलने के लिए उपयोगी हो सकता है। तारीख को एक सरणी या ऑब्जेक्ट के रूप में उत्पन्न किया जा सकता है, जहां तारीखें स्वयं कुंजी होंगी (यह तब उपयोगी होती है जब हमें किसी घटना को तारीख से बांधने की आवश्यकता होती है, उदाहरण के लिए, जब हम अपना कैलेंडर बनाते हैं)। साथ ही, तिथियों को दिन, सप्ताह, महीने, घंटे, वर्ष - किसी भी आधार पर समूहीकृत किया जा सकता है। इसे कैलेंडर पर भी लागू किया जा सकता है। प्लगइन्स और अंतिम लेकिन महत्वपूर्ण, प्लगइन्स। यहां हम यादृच्छिक तिथि उत्पन्न करने के लिए फ़ैक्टरी का विस्तार करते हैं। इसके अलावा, हमें TempusDate क्लास की आवश्यकता है, इसे tempus.classes() में पाया जा सकता है। यहाँ एक उदाहरण प्लगइन है:
(फ़ंक्शन (टेम्पस) ( var TempusDate = tempus.classes("TempusDate"); tempus.randomDate = function() ( var date = new TempusDate(); date.year(Math.floor((Math.random()*( tempus.MAX_YEAR - tempus.MIN_YEAR)) + tempus.MIN_YEAR)).month(Math.floor((Math.random()*(tempus.MAX_MONTH - tempus.MIN_MONTH)) + tempus.MIN_MONTH)).दिन(गणित. फ्लोर((मैथ.रैंडम()*(डेट.डेकाउंट() - टेम्पस.MIN_DAY)) + टेम्पस.MIN_DAY)).घंटे(मैथ.फ्लोर((मैथ.रैंडम()*(टेम्पस.MAX_HOURS - टेम्पस.MIN_HOURS) ) + टेम्पस.MIN_HOURS)).मिनट(मैथ.फ्लोर((मैथ.रैंडम()*(टेम्पस.MAX_MINUTES - टेम्पस.MIN_MINUTES)) + टेम्पस.MIN_MINUTES)).सेकंड्स(मैथ.फ्लोर((मैथ.रैंडम() *(tempus.MAX_SECONDS - tempus.MIN_SECONDS)) + tempus.MIN_SECONDS)); वापसी की तारीख; ); ))(tempus); // अब हम इस तरह की तारीखें बना सकते हैं var someRandomDate = tempus.randomDate();
मुझे लगता है कि इस तरह से jQuery + Tempus, Angular + Tempus, आदि स्रोतों के संयोजन का उपयोग करके आसानी से विजेट लिखना संभव होगा। आप GitHub से स्रोत डाउनलोड करके उन्हें इंस्टॉल कर सकते हैं:
https://github.com/crusat/tempus-js/releases
या बोवर के माध्यम से:
$ बोवर टेम्पस स्थापित करें
आपको केवल एक फ़ाइल की आवश्यकता है - tempus.js या tempus.min.js।

मुझे उम्मीद है कि यह लाइब्रेरी उपयोगी होगी और लाइब्रेरी को सही दिशा में आगे विकसित करने के लिए यह पता लगाना भी दिलचस्प होगा कि इसमें क्या कमी है। आपके ध्यान देने के लिए धन्यवाद!
पी.एस. आमंत्रित करने के लिए धन्यवाद!



संबंधित आलेख: