हिन्दी

डेवलपर टूल · Unix टाइमस्टैम्प कन्वर्टर

UTC, GMT और TAI: आपका टाइमस्टैम्प वास्तव में किसे गिन रहा है

· पेजभूमि

टाइम स्टाम्प्स Unix-समय समय क्षेत्र

Unix रूपांतरण ट्रैक के साथ तीन समानांतर समय-पैमाने ट्रैक पर प्रकाश डाला गया
मूल ToolAcre वेक्टर चित्रण

GMT, UTC और TAI को अक्सर समानार्थी शब्द के रूप में माना जाता है, लेकिन वे अलग-अलग इतिहास वाली तीन अलग-अलग चीजें हैं। यह पोस्ट प्रत्येक को समझाती है और उनमें से कौन सा Unix समय और रोजमर्रा के कन्वर्टर्स वास्तव में अनुसरण करते हैं।

एक सर्वर पर तीन नाम - दिनांक शीर्षलेख में GMT, लॉग में UTC और एक शोध पत्र में TAI, सभी एक ही सेकंड के लिए

एक सर्वर एक प्रोटोकॉल में "GMT", लॉग में "UTC" और वैज्ञानिक डेटा में दूसरा टाइम स्केल दिखा सकता है। समान घड़ी लेबल विनिमेयता प्रदान नहीं करते हैं। पहला कार्य प्रेजेंटेशन परत में सभी UTC का नाम बदलने के बजाय प्रत्येक फ़ील्ड के पीछे के अनुबंध की पहचान करना है।

ToolAcre का अनुबंध स्पष्ट है: Unix सेकंड या मिलीसेकंड एक ISO 8601 UTC स्ट्रिंग, एक पढ़ने योग्य UTC पंक्ति और एक ब्राउज़र-स्थानीय पंक्ति बन जाते हैं। इसमें कोई स्केल चयनकर्ता नहीं है. इस मार्ग के प्रासंगिक होने से पहले किसी भी गैर-Unix गणना को अपनी स्वयं की आधिकारिक परिभाषा का उपयोग करके परिवर्तित किया जाना चाहिए।

एक उपयोगी इन्वेंट्री हर क्षेत्र के साथ-साथ पैमाने और क्रमबद्धता को रिकॉर्ड करती है। समान लेबलों को उत्पत्ति को नहीं मिटाना चाहिए, खासकर जब डेटा वैज्ञानिक और अनुप्रयोग प्रणालियों को पार करता है।

ग्रीनविच मीन टाइम - मेरिडियन पर औसत सौर समय, दुनिया के संदर्भ के रूप में इसका इतिहास, और यह अब एक मानक के बजाय एक समय क्षेत्र क्यों है

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

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

यदि अंतरसंचालनीयता शब्द पर निर्भर करती है, तो कोड समीक्षा में नियंत्रण विनिर्देश को लिंक करें। एक डिस्प्ले लेबल को कभी भी चुपचाप तार-प्रारूप की आवश्यकता के लिए खड़ा नहीं होना चाहिए।

GMT इतिहास और कानूनी स्थिति भंडार साक्ष्य के बाहर हैं

UTC पंक्ति `Intl.DateTimeFormat` द्वारा `timeZone: "UTC"` के साथ उत्पन्न होती है; ISO पंक्ति `toISOString()` से आती है। वे कॉल साबित करते हैं कि यह इंटरफ़ेस अपनी सार्वभौमिक रीडिंग को कैसे लेबल करता है। वे इस बात का दस्तावेजीकरण नहीं करते कि UTC को कब अपनाया गया था या इसके पीछे संस्थागत तंत्र क्या था।

डिबगिंग के लिए, लेबल वर्तमान स्थानीय क्षेत्र से स्वतंत्र एक साझा संदर्भ स्थापित करने के लिए पर्याप्त है। सिस्टम के बीच ISO स्ट्रिंग्स या युग मानों की तुलना करें। यदि कोई स्रोत किसी अन्य पैमाने का उपयोग करता है, तो पहले किसी परिचित तिथि को समान गणना मानने के बजाय संबंध साबित करें।

Canonical UTC आउटपुट परिवेशों की तुलना करने के लिए विशेष रूप से उपयोगी है क्योंकि यह स्थानीय-क्षेत्र चयन को हटा देता है। हालाँकि, यह किसी इनपुट को अघोषित समय पैमाने से परिवर्तित नहीं करता है।

कन्वर्टर UTC को लेबल करता है लेकिन UTC की परिभाषा के इतिहास का दस्तावेजीकरण नहीं करता है

अंतर्राष्ट्रीय परमाणु समय को कोड, कॉन्फ़िगरेशन या परीक्षणों में दर्शाया नहीं गया है। यहां कोई वर्तमान ऑफसेट, ऐतिहासिक अंतर या रूपांतरण एल्गोरिदम दिखाई नहीं देता है। स्मृति से इस तरह के स्थिरांक की आपूर्ति करना ठीक उसी प्रकार का सूक्ष्म समय होगा जैसा दावा कार्य वर्जित करता है।

TAI-लेबल वाले मान को TAI के रूप में तब तक सुरक्षित रखें जब तक कोई आधिकारिक लाइब्रेरी या स्रोत अपनी तिथि के लिए रूपांतरण नहीं करता। इसे सीधे Unix सेकंड के रूप में चिपकाने से गलत मूल या स्केल चुपचाप लागू हो जाता है और फिर भी एक पॉलिश ISO स्ट्रिंग प्राप्त हो सकती है। पठनीयता सत्यापन नहीं है.

बाहरी रूपांतरण में चर और प्रकार के नामों में स्केल नाम शामिल होना चाहिए। अंकगणित से पहले उस लेबल को मिटाने से बाद में प्रशंसनीय ISO परिणाम का ऑडिट करना असंभव हो जाता है।

TAI लागू नहीं किया गया है, इसलिए कोई अंतर या रूपांतरण स्थिरांक का दावा नहीं किया गया है

परीक्षण किया गया Unix मॉडल आधी रात को `2016-12-31T23:59:59Z` पर युग मान 1,483,228,799 से 1,483,228,800 तक आगे बढ़ता है। इसमें `23:59:60` के लिए कोई विशिष्ट इनपुट नहीं है। इस कार्यान्वयन में POSIX-शैली व्यवहार का यही ठोस अर्थ है।

यह कहना उचित है कि कन्वर्टर मैप्स Unix उस नियम के तहत UTC-लेबल वाले सिविल आउटपुट पर गिना जाता है। प्रत्येक ऐतिहासिक छलांग में पूर्णांक को सटीक परमाणु-सेकंड गणना कहना भ्रामक होगा। टूल एक सॉफ़्टवेयर दिनांक बनाता है, प्रयोगशाला समय-पैमाने पर माप नहीं।

अंतर सूक्ष्म लेकिन व्यावहारिक है: अनुक्रम गणना Unix सम्मेलन को विरासत में मिलती है, जबकि सिविल डिस्प्ले को दिनांक और अंतर्राष्ट्रीय स्वरूपण विरासत में मिलता है। कोई भी पथ परमाणु-समय मेटाडेटा को उजागर नहीं करता है।

परीक्षण किया गया Unix मॉडल POSIX-शैली सेकंड को बिना किसी लीप-सेकंड मान के UTC लेबल में मैप करता है

कार्यपुस्तिका के HTTP और ब्रिटिश कानूनी समय के उदाहरणों के लिए बाहरी प्रोटोकॉल और कानूनी स्रोतों की आवश्यकता होती है। उन्हें छोड़ दिया गया है. हेडर या विनियमित रिकॉर्ड लागू करते समय, बोलचाल की समानता के आधार पर UTC या GMT शब्दों को चुनने के बजाय वास्तविक विनिर्देश का पालन करें।

इस मॉड्यूल के भीतर, `GMT` शून्य ऑफसेट के लिए Intl के शॉर्ट-ऑफसेट रेंडरिंग के हिस्से के रूप में दिखाई दे सकता है, लेकिन यह फ़ॉर्मेटर आउटपुट है, प्रोटोकॉल तिथि उत्पन्न करने का वादा नहीं। UI डिस्प्ले को वायर-फॉर्मेट क्रमांकन और कानूनी शब्दावली से अलग रखें।

शून्य-ऑफ़सेट लेबल लौटाने वाला फ़ॉर्मेटर पर्याप्त प्रोटोकॉल सत्यापन नहीं है। पूर्ण क्रमबद्ध हेडर या विनियमित रिकॉर्ड का उसके समर्पित पार्सर और फिक्स्चर के साथ परीक्षण करें।

GMT के प्रोटोकॉल और कानूनी उपयोग के लिए बाहरी स्रोतों की आवश्यकता होती है और उन्हें छोड़ दिया जाता है

GPS समय और खगोलीय तिथि पैमाने स्वीकृत मोड से बाहर हैं। UI केवल सेकंड, मिलीसेकंड या स्वचालित पहचान प्रदान करता है, और दोनों समर्थित इकाइयाँ Unix युग मानती हैं। ऐसा कोई चेकबॉक्स नहीं है जो मूल या लीप कन्वेंशन को बदलता हो।

किसी अन्य पैमाने की संख्या में अंतर्ग्रहण और भंडारण के माध्यम से एक लेबल होना चाहिए। उद्देश्य-निर्मित, स्रोत विधि से रूपांतरित करें और मूल को बरकरार रखें। इस पैनल में केवल व्युत्पन्न Unix मान शामिल है; अन्यथा एक प्रशंसनीय परिणाम मूलभूत बेमेल को छिपा सकता है।

अनुमानित स्थिरांक की पेशकश की तुलना में असमर्थित पैमाने को अस्वीकार करना अधिक सुरक्षित है। टाइम-स्केल ऑफसेट दिनांक-संवेदनशील हो सकते हैं, और यहां गलत परिशुद्धता वैज्ञानिक टिप्पणियों को पुन: व्यवस्थित कर सकती है।

GPS और खगोलीय पैमाने स्वीकृत मोड नहीं हैं

ToolAcre की सार्वभौमिक पंक्ति का संदर्भ देते समय UTC कहें क्योंकि स्रोत और UI लेबल यही अनुरोध करते हैं। संख्यात्मक इनपुट के लिए Unix सेकंड या मिलीसेकंड कहें। व्यापक कथनों से बचें जो UTC, GMT और परमाणु समय को पर्यायवाची शब्दों में बदल देते हैं।

नामकरण में परिशुद्धता एक डिबगिंग टूल है। यह पहचानता है कि कौन से परिवर्तन आवश्यक हैं और कौन से दावे असत्यापित हैं। यह कन्वर्टर एक पथ के लिए मजबूत सबूत प्रदान करता है - Unix UTC/local डिस्प्ले की गिनती करता है - और जानबूझकर असंबंधित पैमानों के लिए कोई भी प्रदान नहीं करता है।

दस्तावेज़ लिखते समय, प्रत्येक शब्द को एक ठोस फ़ील्ड या फ़ॉर्मेटर से जोड़ें। वेग का दावा है कि तीनों "एक ही समय का मतलब" सटीक रूपांतरण जिम्मेदारियों को छिपाते हैं।