दिनांक और समय प्रदर्शित करें कि यह कैसे करना है
हम उनके पास हर दिन तारीख और समय ... अच्छी तरह से आते हैं। जब यह वेब की बात आती है, तो आप उन्हें अपने मोबाइल ऐप में, ईमेल में, अपने मैसेजिंग ऐप और कई अन्य स्थानों पर देख सकते हैं। फिर भी हर दिन और हर जगह तारीख और समय देखने के बावजूद, हमें अभी तक इसके लिए एक सार्वभौमिक प्रारूप नहीं अपनाना है.
उदाहरण के लिए, यदि मैं 10/05/2015 लिखता हूं, तो आप कभी भी सुनिश्चित नहीं हो सकते हैं कि "10" महीना या तारीख है जब तक कि मैं आपको यह नहीं बताता कि मैं कहां से हूं। कभी-कभी प्रारूप बदलता है, दूसरी बार भाषा.
यह महत्वपूर्ण है कि वेब डेवलपर्स के रूप में हम अपनी परियोजनाओं में उस तारीख और समय पर ध्यान देते हैं, जिससे हम निपट सकते हैं उन्हें विभिन्न भौगोलिक निवासियों के लिए पूरा करें बिना किसी संघर्ष के। इस पोस्ट में हम चर्चा करेंगे बचना है और क्या गले लगाना है जब यह दिनांक-समय प्रदर्शित करने की बात आती है.
वैश्वीकरण
मान लीजिए कि हम दुनिया भर के अलग-अलग दर्शकों के लिए अलग-अलग तारीखों और समय स्वरूपों को परिवर्तित और दिखाना नहीं चाहते हैं, हम क्या कर सकते हैं? हम एक वैश्विक प्रारूप चुनते हैं और इसके साथ चिपके रहते हैं। यहाँ वह जगह है जहाँ कुछ मानक चलन में आते हैं। इससे पहले कि हम उस पर जाएं, मुझे सलाह देनी चाहिए कि डब्ल्यू 3 सी की सिफारिश है कि हम यूटीसी टाइमज़ोन के साथ आईएसओ 8601 तिथि प्रारूप का उपयोग करें.
आईएसओ 8601
आईएसओ 8601 संख्याओं का उपयोग करते हुए तिथियों और समय का प्रतिनिधित्व करने के लिए एक अंतरराष्ट्रीय स्तर पर स्वीकृत तरीका बताता है.
और पूर्ण तिथि के लिए प्रारूप है; YYYY-MM-DD
, उदाहरण के लिए: 2015/07/28
YYYY = 4 अंक वर्ष
MM = 2 अंक महीना (01 = जनवरी, आदि)
डीडी = 2 अंकों का दिन (01 से 31)
पूर्ण तिथि-समय के लिए;YYYY-MM-DDThh: mm: ss.s
, उदाहरण के लिए: 2015-07-28T21: 15: 18.45
T = आईएसओ 8601 के अनुसार अलग तिथि और समय
मिमी = 2 अंक मिनट (59 के माध्यम से 00)
ss = 2 अंक दूसरा (59 के माध्यम से 00)
s = एक दूसरे, 1 या अधिक अंकों का दशमलव अंश
कृपया ध्यान दें कि जैसा कि उपरोक्त उदाहरण में कोई समयक्षेत्र का उल्लेख नहीं किया गया है, इसलिए यह माना जाना चाहिए कि समय स्थानीय समय क्षेत्र में है। यदि आपने यूटीसी टाइमज़ोन का उपयोग करने का निर्णय लिया है, तो बस जोड़ दें जेड UTC को निरूपित करने के लिए मान
उदाहरण के लिए: 2015-07-28T21: 15: 18.45Z
लेकिन अगर आप स्थानीय समय प्रदर्शित करना चाहते हैं, तो आप एक जोड़ सकते हैं समयक्षेत्र ऑफसेट प्रारूप में मूल्य के लिए UTC के लिए +hh: mm
या -hh: mm
जैसी जरूरत थी.
उदाहरण के लिए: मान लेते हैं 2015-07-28T21: 15: 18.45
ईएसटी (पूर्वी मानक समय) टाइमज़ोन में है जो यूटीसी टाइमज़ोन से 5 घंटे पीछे है.
UTC ऑफसेट के साथ इसे दर्शाने के लिए हम लिखते हैं 2015-07-28T21: 15: 18.45-05: 00
जो UTC समय के बराबर है 2015-07-29T02: 15: 18.45Z
.
फिर जेड यह प्रदर्शित करने के लिए जोड़ा जाता है कि UTC समय में प्रदर्शित दिनांक-समय है.
यूटीसी बनाम जीएमटी
वे दोनों अभी भी अलग हैं। अब तक आप कम से कम एक बार GMT के पार आ गए हैं; अपने मोबाइल फ़ोन या कंप्यूटर में दिनांक-समय सेट करते समय। यह दुनिया भर में पहचाना जाने वाला सबसे लोकप्रिय टाइमज़ोन है क्योंकि यह यूटीसी की तुलना में लंबे समय से अस्तित्व में है.
हालांकि कुछ कह सकते हैं कि वे दोनों एक ही हैं, लेकिन वे नहीं हैं, यूटीसी जीएमटी का उत्तराधिकारी है और अंतर्राष्ट्रीय दूरसंचार संघ द्वारा बनाए रखा जाता है। यूटीसी और जीएमटी के आधार पर समय का उल्लेख करने की सलाह दी जाती है.
महीनों के नाम का उपयोग करें
आईएसओ मानक ने किसी भी भाषा संघर्ष से बचने के लिए केवल तारीख प्रतिनिधित्व में संख्याओं का उपयोग किया। लेकिन, यदि आपके वेब एप्लिकेशन की सामग्री अंग्रेजी में होने वाली है, तो आपको संख्याओं के बजाय अंग्रेजी में महीनों को लिखने पर विचार करना चाहिए.
के बजाय 2015/07/28
, 28, जुलाई, 2015
बहुत से समझने में आसान है, और कम भ्रामक है.
स्थानीयकरण
ऐसे समय होते हैं जब हम अपनी सेवाओं के साथ बहुत विशिष्ट होना चाहते हैं और स्थानीय टाइमज़ोन और भाषाओं में दिनांक और समय का प्रतिनिधित्व करना चाहते हैं। वेब डेवलपर्स के लिए एक्सेसिंग क्षेत्र के अनुसार दिनांक और समय का उपयोग करने और प्रदर्शित करने के लिए कई लाइब्रेरी और एपीआई उपलब्ध हैं.
आप ब्राउज़र डिफ़ॉल्ट स्थान या तो की व्याख्या करके प्राप्त कर सकते हैं स्वीकार करें-भाषा
शीर्ष लेख या के माध्यम से अनुरोध करें navigator.language या navigator.browserLanguage
जावास्क्रिप्ट ऑब्जेक्ट, लेकिन सबसे अच्छी विधि है उपयोगकर्ता को अपने आवेदन में एक लोकेल चुनने दें चूंकि पूर्व तरीके बहुत विश्वसनीय नहीं हैं.
एक बार आपके पास स्थान होने के बाद, आप इसके अनुसार दिनांक समय को प्रारूपित कर सकते हैं, उदाहरण के लिए अंतर्राष्ट्रीयकरण एपीआई, आप का उपयोग कर एक तारीख प्रारूपित कर सकते हैं toLocaleDateString
उदाहरण के लिए, जावास्क्रिप्ट में, myDate.toLocaleDateString ( 'ko-के.आर.')
कोरियाई-भाषी मूल निवासियों द्वारा कोरिया में उपयोग किए जाने वाले प्रारूप में एक प्रारूपित तारीख लौटाएगा.
डेलाइट सेविंग टाइम (DST)
कुछ देशों में दिन के उजाले में समय की बचत होती है ताकि अतिरिक्त सूर्य के प्रकाश का उपयोग करने के लिए गर्मियों में एक घंटे तक घड़ियों को अग्रेषित किया जा सके। अपनी सेवाओं में स्थानीय समय के साथ DST के बारे में जानकारी रखें.
नो टू-डिजिट ईयर
स्थानीयकरण के लिए तारीख और समय को अनुकूलित करते समय, किसी भी बिंदु पर वर्ष के लिए दो अंकों के प्रारूप का उपयोग न करें। हम पहले से ही 21 वीं सदी में हैं। जैसे वर्षों का उपयोग करना 64
, 99
आदि भविष्य में परेशानी होगी। यदि आपके पास पहले से दो अंकों की वर्ष प्रणाली है तो इसे बदलने पर विचार करें.
लीप ईयर एंड अदर कैलेंडर्स
तारीखों के साथ काम करते समय याद रखने के लिए कुछ विविध चीजों के साथ इस पोस्ट को समाप्त करते हैं। यदि आप तारीखों के लिए किसी भी पुस्तकालय या एपीआई का उपयोग नहीं कर रहे हैं और अपने दम पर उनसे निपटना पसंद करते हैं (जो है) नहीं फिर भी अनुशंसित), लीप वर्षों के लिए इनपुट में 29 फरवरी को दिखाना न भूलें.
इसके अलावा, यह ध्यान देने योग्य है कि ग्रेगोरियन कैलेंडर उपलब्ध और उपयोग किए जाने वाले कैलेंडर का एकमात्र रूप नहीं है पूरी दुनिया में। कुछ क्षेत्रीय कैलेंडर हैं जो स्थानीय लोगों का पालन करते हैं, खासकर जब यह उत्सव की बात आती है.
संदर्भ
- अंतर्राष्ट्रीय दूरसंचार संघ: ITU-R में समन्वित यूनिवर्सल टाइम (UTC) अध्ययन की स्थिति
- आईएसओ: आईएसओ 8601 - दिनांक और समय प्रारूप
- विकिपीडिया: समन्वित सार्वभौमिक समय
- विकिपीडिया: डेलाइट सेविंग टाइम
- ग्रीनविच मीन टाइम
- W3C नोट: दिनांक और समय प्रारूप
- W3C टिप्स: अंतर्राष्ट्रीय तिथि प्रारूप (आईएसओ) का उपयोग करें