हिन्दी

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

Unix समय 1 जनवरी 1970 को क्यों शुरू होता है: युग का एक संक्षिप्त इतिहास

· पेजभूमि

टाइम स्टाम्प्स Unix-समय डेटा-प्रारूप

Unix युग में शून्य बिंदु से निकलने वाली एक समयरेखा
मूल ToolAcre वेक्टर चित्रण

1 जनवरी 1970 को कुछ नहीं हुआ; Unix की मूल घड़ी के ओवरफ्लो होने के खतरे के बाद सुविधा के लिए तारीख चुनी गई थी। यह पोस्ट शुरुआती Unix घड़ी, सेकंड में स्विच और कैसे यह परंपरा हर जगह फैल गई, इसकी कहानी बताती है।

एक तारीख जिसे कोई नहीं मनाता - क्यों 1970 आधी सदी बाद भी बग, डिफॉल्ट और डैशबोर्ड में दिखाई देता रहता है

जनवरी 1970 तब प्रकट होता है जब सॉफ़्टवेयर छोटी अवधि या सेकंड की गिनती को मिलीसेकंड में भूल जाता है। यह ToolAcre द्वारा उत्पन्न फ़ॉलबैक जन्मदिन नहीं है; यह वह शून्य बिंदु है जहां से इनपुट की व्याख्या की गई थी। युग शून्य का परीक्षण `1970-01-01T00:00:00.000Z` और गुरुवार लौटाता है।

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

ToolAcre की उल्लेखनीय-युग तालिका शून्य को एक जानबूझकर लेबल देती है, जो इस बात को पुष्ट करती है कि 1970 ब्राउज़र द्वारा चुने गए त्रुटि पेज के बजाय एक परिभाषित संदर्भ है।

Unix की पहली घड़ी - 1971 की शुरुआत से एक सेकंड के साठवें हिस्से की गिनती और तीन साल से कम समय में 32-बिट रूम से बाहर होना

कार्यपुस्तिका ने 1971 से साठवीं गिनती की प्रारंभिक घड़ी का विस्तृत विवरण प्रदान किया। आवश्यक भंडार स्रोतों में से कोई भी उस इतिहास का दस्तावेजीकरण नहीं करता है। इसे स्मृति से दोहराना संलेखन अनुबंध का उल्लंघन होगा, भले ही कोई बाहरी इतिहास बाद में इसका समर्थन कर सकता हो।

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

भंडार Unix की पहली घड़ी डिजाइन का स्रोत नहीं है, इसलिए कोई ऐतिहासिक पुनर्निर्माण का दावा नहीं किया गया है

ToolAcre अपने इनपुट को Unix टाइमस्टैम्प नाम देता है और 1970-01-01 UTC के बाद से इसे त्रुटि मार्गदर्शन में सेकंड या मिलीसेकंड के रूप में परिभाषित करता है। स्रोत यह नहीं बताता है कि उस वर्ष को क्यों चुना गया था, क्या गोलाई मायने रखती थी या कौन से क्षितिज डिजाइनर चाहते थे। वे उद्देश्य छूट जाते हैं।

अंकगणित एक निश्चित मूल की स्थायी उपयोगिता की व्याख्या करता है: घटाव से व्यतीत दूरी प्राप्त होती है, तुलना क्रम के क्षण मिलते हैं, और एक संकेत इंगित करता है कि शून्य का कौन सा पक्ष निहित है। शून्य का चुनाव पारंपरिक है; उत्पादकों और उपभोक्ताओं के बीच निरंतरता ही संख्याओं को अंतरसंचालनीय बनाती है।

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

कार्यान्वित परिभाषा 1970 का उपयोग करती है; इसे चुनने के उद्देश्यों के लिए ऐतिहासिक स्रोतों की आवश्यकता है जो यहां मौजूद नहीं हैं

परीक्षण हर दिन POSIX रूपांतरण के रूप में मॉडल करता है और स्पष्ट रूप से `2016-12-31T23:59:59Z` से `2017-01-01T00:00:00Z` तक पहुंच जाता है। यह इस टूल के व्यवहार के लिए निष्पादन योग्य साक्ष्य है। यह किसी बाहरी मानक के शब्दों या पूर्ण दायरे का उद्धरण नहीं है।

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

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

ToolAcre POSIX-शैली मॉडल का परीक्षण करता है लेकिन मानक उद्धरण के रूप में कार्य नहीं करता है

JavaScript दिनांक अपनी युग गणना को मिलीसेकंड में दर्शाता है, जबकि ToolAcre Unix सेकंड स्वीकार करता है और उन्हें 1,000 से गुणा करके रूपांतरित करता है। मार्ग भी दोनों रूपों को लौटाता है। वह सीमा बताती है कि क्यों वेब एप्लिकेशन अक्सर तीन अतिरिक्त दशमलव शून्य के साथ एक ही क्षण को उजागर करते हैं।

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

यह संयम एक परिचित सामग्री विफलता से बचाता है: बिना किसी उद्धरण के दोहराए जाने वाले प्रशंसनीय मील के पत्थर का एक क्रम जब तक कि बाद के पाठक दस्तावेजी साक्ष्य के लिए संचित पुनरावृत्ति की गलती नहीं करते।

रिपॉजिटरी साक्ष्य JavaScript का मिलीसेकंड प्रतिनिधित्व दिखाता है, पूर्ण प्रसार इतिहास नहीं

एक निश्चित युग में कोई स्थानीय क्षेत्र नहीं होता। ToolAcre परिणामी दिनांक को UTC में और ब्राउज़र के स्थानीय क्षेत्र में अलग से प्रारूपित करता है। नकारात्मक मान शून्य से पहले विस्तारित होते हैं, जैसा कि −1 परीक्षण दर्शाता है। वे परिणाम सीधे संख्यात्मक अक्ष और स्वरूपण परत से आते हैं।

कार्यान्वयन की दिनांक सीमा ±8.64×10¹⁵ मिलीसेकंड भी है। यह चुने गए प्रतिनिधित्व की एक सीमा है, न कि किसी युग के अमूर्त विचार में निहित सीमा। कन्वर्टर परिणाम से सामान्यीकरण करने से पहले हमेशा पहचानें कि किसकी सीमा और इकाई पर चर्चा की जा रही है।

स्थानीय फ़ॉर्मेटर ऑफ़सेट के आधार पर UTC सीमा से पहले या बाद की तारीख लागू कर सकता है। वह शून्य नहीं चलता; यह केवल मानव कैलेंडर प्रक्षेपण को बदलता है।

इसमें क्या शामिल नहीं है - अन्य प्रणालियों के युग, जैसे 1900, 1601 और 1980, जिनका अपना इतिहास है

अन्य प्रणालियाँ एक और शून्य और दूसरा पैमाना चुन सकती हैं, यही कारण है कि एक बड़ा पूर्णांक दोनों ToolAcre इकाइयों के तहत निरर्थक रह सकता है। यह आलेख 1900, 1601 या 1980 मूल के इतिहास का वर्णन नहीं करता है। इसके बजाय अनुच्छेद 340 उस बेमेल को पहचानने और दस्तावेजी परिभाषाओं से रूपांतरण प्राप्त करने पर केंद्रित है।

जब मूल अज्ञात हो, तो बार-बार शून्य बदलने के बजाय स्रोत दस्तावेज़ से तुलना करें। एक Unix कन्वर्टर जानबूझकर 1970 मानता है; यह एक संख्या से किसी विदेशी युग की स्वतः पहचान नहीं कर सकता। मूल को इकाई के साथ रखने से अंकगणितीय सफलता को अर्थ संबंधी गलती बनने से रोका जा सकता है।

अन्य युगों की उत्पत्ति की यहां उनके इतिहास का दावा किए बिना अलग से तुलना की गई है

विश्वसनीय पाठ यांत्रिक है: Unix शून्य 1970 UTC की शुरुआत में मैप करता है, संकेत इसके चारों ओर विस्तारित होते हैं, और दिनांक स्वरूपण से पहले सेकंड JavaScript मिलीसेकंड बन जाते हैं। ToolAcre उनमें से प्रत्येक तथ्य को 0, −1 और उल्लेखनीय-युग तालिका के मानों के साथ अवलोकन योग्य बनाता है।

लोगों ने उस सम्मेलन को जिन कारणों से चुना, वे स्रोतित इतिहास से संबंधित हैं, आधुनिक कोड से नहीं। उस सीमा का सम्मान करने से एक छोटा लेकिन सच्चा खाता तैयार होता है। अंकगणित के लिए कन्वर्टर का उपयोग करें; उद्देश्यों या मील के पत्थर को जिम्मेदार ठहराने से पहले उचित ऐतिहासिक सामग्री का उपयोग करें।

साक्ष्य अनुशासन तकनीकी सटीकता का हिस्सा है। एक सटीक चूक अनुरक्षकों को बताती है कि ऐतिहासिक खाते का जिम्मेदारीपूर्वक विस्तार करने से पहले किस नई सोर्सिंग की आवश्यकता है।