2012-07-20 14 views
5

पहले संस्करण Unix Programmer's Manual के अनुसार, यूनिक्स समय के रूप में "00:00:00 के बाद से समय, 1 जनवरी, 1971, एक दूसरे की sixtieths में मापा"यूनिक्स युग का समय 1 9 71 से वर्तमान 1 9 70 के मूल्य में कब संशोधित किया गया था?

जब आधी रात के वर्तमान मूल्य के लिए यह परिवर्तन किया था परिभाषित किया गया है (यूटीसी), 1 जनवरी, 1 9 70?

+0

संभावित डुप्लिकेट [1/1/1970 "युग समय" क्यों है?] (Http://stackoverflow.com/questions/1090869/why-is-1-1-1970-the-epoch-time) – ephemient

+1

लिंक्ड आलेख और विकिपीडिया यह नहीं कहता कि जब युग बदल गया, तो मैं बलिदान करूंगा। याद रखें, आपने इसके लिए पूछा! युग बदलते समय युग, 0 महीने, 0 दिन, 0 घंटे, 0 मिनट, और 0 सेकंड युग-बदलते युग की शुरुआत के बाद बदल गया था। –

+0

ओह, मैंने अभी देखा है कि एंड्रयू का अवतार उपयुक्त है। यह किसी भी समय हुआ था। –

उत्तर

6

प्रथम संस्करण यूनिक्स (नवंबर 1 9 71) में, manual page for the time system call ने कहा कि यह "00:00:00, जनवरी 1, 1 9 71 से समय, एक सेकेंड के साठवां में मापा गया" लौटा। यह एक 32-बिट मान था, इसलिए इसे बिना हस्ताक्षर के रूप में भी माना जाता है, यह केवल इस तिथि से लगभग 2.26 वर्ष ट्रैक कर सकता है। हालांकि मैनुअल पेज और source code comments सिस्टम कॉल का वर्णन "वर्ष का समय प्राप्त करें" के रूप में करते हैं, वर्ष set नहीं हो सकता है, और date कमांड और ctime() फ़ंक्शन (दिनांक और समय को प्रारूपित करने के लिए उपयोग किया गया) एक वर्ष प्रारूपित नहीं किया गया है या यहां तक ​​कि सही तरीके से काम नहीं करता है 1 साल से अधिक समय के मूल्यों के साथ, इसलिए संभवतः यह अनुमान लगाया गया था कि प्रत्येक वर्ष मैन्युअल रूप से दिनांक मैन्युअल रूप से रीसेट हो जाएगा और वर्ष 1 9 71 मैनुअल पेज में थोड़ा महत्व नहीं था। खैर, 1 9 72 में थोड़ी सी समस्या के अलावा एक अतिरिक्त दिन है; इसके बारे में, note बाद में बग अनुभाग में जोड़ा गया था: "नियमित रूप से लीप वर्ष के लिए पुनः संयोजित किया जाना चाहिए"। अच्छा लगा।

1 9 72 में टाइम सिस्टम कॉल के लिए मैनुअल पेज changed था, यह कहने के लिए कि "00:00:00, 1 जनवरी, 1 9 72" के बाद से यह समय वापस आया: नोट 32 बिट्स में संग्रहीत है यह हर 2.26 वर्षों में संकट की गारंटी देता है। "

चौथे संस्करण यूनिक्स (नवंबर 1 9 73) the time system call को "00:00:00 GMT, जनवरी 1, 1 9 70 के बाद से समय में मापा गया" वापस लौटने के लिए बदल दिया गया था। (मैनुअल पेज दिनांक 5 अगस्त, 1 9 73 है, इसलिए हो सकता है कि परिवर्तन मूल रूप से किए गए हों।) यह अनिवार्य रूप से वर्तमान परिभाषा है, सिवाय इसके कि ऐतिहासिक शब्द जीएमटी को अधिक सटीक कोऑर्डिनेटेड यूनिवर्सल टाइम द्वारा प्रतिस्थापित किया गया है और लीप सेकंड के संबंध में स्पष्टीकरण किए गए हैं। सिस्टम पर जो इसे 32-बिट नंबर पर हस्ताक्षरित करते हैं, यह year 2038 तक काम करेगा। सौभाग्य से कई सिस्टम अब इस मान के लिए 64 बिट्स का उपयोग करते हैं।

संबंधित मुद्दे