यूनिक्स समय
1732568193
( )2024-11-25T20:56:33+00:00
यूनिक्स समय एक दिनांक और समय प्रतिनिधित्व है[2] जिसका व्यापक रूप से कंप्यूटिंग में उपयोग किया जाता है।[3] यह समय को 1 जनवरी 1970, यूनिक्स युग, 00:00:00 यूटीसी के बाद से बीत चुके सेकंडों की संख्या के आधार पर मापता है, लीप सेकंड के कारण किए गए समायोजन के बिना। आधुनिक कंप्यूटिंग में, मानों को कभी-कभी उच्च ग्रैन्युलैरिटी के साथ संग्रहीत किया जाता है, जैसे माइक्रोसेकंड या नैनोसेकंड।
यूनिक्स समय की उत्पत्ति यूनिक्स ऑपरेटिंग सिस्टम के सिस्टम समय के रूप में हुई थी। यह अन्य कंप्यूटर ऑपरेटिंग सिस्टम, फाइल सिस्टम, प्रोग्रामिंग भाषा और डेटाबेस में व्यापक रूप से उपयोग किया जाने लगा है।
परिभाषा
यूनिक्स समय को वर्तमान में सेकंड की संख्या के रूप में परिभाषित किया गया है जो 00:00:00 के बाद से पारित हो गया है यूटीसी गुरुवार, 1 जनवरी 1970 को, जिसे यूनिक्स एपोच (कंप्यूटिंग) कहा जाता है। यूनिक्स समय सामान्यतः एक हस्ताक्षरित पूर्णांक के रूप में एन्कोड किया जाता है।[3]
यूनिक्स समय 0 1 जनवरी 1970 की ठीक आधी रात यूटीसी है, इसके बाद प्रत्येक गैर-लीप सेकंड के लिए यूनिक्स समय में 1 की वृद्धि होती है। उदाहरण के लिए, 1 जनवरी 1971 को 00:00:00 यूटीसी को यूनिक्स समय में 31536000 के रूप में दर्शाया गया है। नकारात्मक मान यूनिक्स युग से पहले के समय को दर्शाते हैं, युग से पहले प्रत्येक गैर-लीप सेकंड के लिए मान 1 से घट जाता है। उदाहरण के लिए 1 जनवरी 1969 को 00:00:00 यूटीसी को यूनिक्स समय में −31536000 के रूप में दर्शाया गया है। यूनिक्स में हर दिन ठीक 86400 सेकंड का होता है।
यूनिक्स समय को कभी-कभी एपोच टाइम भी कहा जाता है। यह भ्रामक हो सकता है क्योंकि यूनिक्स समय एक युग पर आधारित एकमात्र समय प्रणाली नहीं है और यूनिक्स युग अन्य समय प्रणालियों द्वारा उपयोग किया जाने वाला एकमात्र युग नहीं है।[4][5][6]
लीप सेकंड
लीप सेकंड के प्रबंधन में यूनिक्स समय समन्वित यूनिवर्सल टाइम (यूटीसी ) और अंतर्राष्ट्रीय परमाणु समय (टीएआई) दोनों से अलग है। यूटीसी में लीप सेकेंड सम्मिलित हैं जो स्पष्ट समय के बीच विसंगति के लिए समायोजित होते हैं, जैसा कि परमाणु घड़ियों द्वारा मापा जाता है, और सूर्य के संबंध में पृथ्वी की स्थिति से संबंधित सौर समय अंतर्राष्ट्रीय परमाणु समय (टीएआई), जिसमें हर दिन ठीक है 86400 सेकंड लंबा, सौर समय की उपेक्षा करता है और धीरे-धीरे लगभग एक सेकंड प्रति वर्ष की दर से पृथ्वी के घूर्णन के साथ तादात्म्य खो देता है। यूनिक्स समय में, हर दिन पूर्ण रूप से सम्मिलित होता है 86400 सेकंड। प्रत्येक लीप सेकंड एक सेकंड के टाइमस्टैम्प का उपयोग करता है जो तुरंत पहले या बाद में होता है।[3]
एक सामान्य यूटीसी दिवस पर जिसकी अवधि होती है 86400 सेकेंड, यूनिक्स समय संख्या मध्यरात्रि में निरंतर कार्य विधि से बदलती है। उदाहरण के लिए, उपरोक्त उदाहरणों में प्रयुक्त दिन के अंत में समय निरूपण निम्नानुसार आगे बढ़ता है:
टीएआई (17 सितंबर 2004) | यूटीसी (16 से 17 सितम्बर 2004) | यूनिक्स समय |
---|---|---|
2004-09-17T00:00:30.75 | 2004-09-16T23:59:58.75 | 1095379198.75 |
2004-09-17T00:00:31.00 | 2004-09-16T23:59:59.00 | 1095379199.00 |
2004-09-17T00:00:31.25 | 2004-09-16T23:59:59.25 | 1095379199.25 |
2004-09-17T00:00:31.50 | 2004-09-16T23:59:59.50 | 1095379199.50 |
2004-09-17T00:00:31.75 | 2004-09-16T23:59:59.75 | 1095379199.75 |
2004-09-17T00:00:32.00 | 2004-09-17T00:00:00.00 | 1095379200.00 |
2004-09-17T00:00:32.25 | 2004-09-17T00:00:00.25 | 1095379200.25 |
2004-09-17T00:00:32.50 | 2004-09-17T00:00:00.50 | 1095379200.50 |
2004-09-17T00:00:32.75 | 2004-09-17T00:00:00.75 | 1095379200.75 |
2004-09-17T00:00:33.00 | 2004-09-17T00:00:01.00 | 1095379201.00 |
2004-09-17T00:00:33.25 | 2004-09-17T00:00:01.25 | 1095379201.25 |
जब एक लीप सेकेंड होता है, तो यूटीसी दिन पूर्ण रूप से नहीं होता है 86400 सेकंड लंबा और यूनिक्स समय संख्या (जो सदैव स्पष्ट रूप से बढ़ती है 86400 प्रत्येक दिन) एक विच्छिन्नता (गणित) का अनुभव करता है। लीप सेकंड सकारात्मक या नकारात्मक हो सकता है। कोई नकारात्मक लीप सेकंड कभी भी घोषित नहीं किया गया है, किंतु यदि कोई हो, तो एक दिन के अंत में एक नकारात्मक लीप सेकंड के साथ यूनिक्स समय संख्या अगले दिन की प्रारंभ में 1 से ऊपर हो जाएगी। एक दिन के अंत में एक सकारात्मक लीप सेकंड के समय, जो औसतन हर डेढ़ साल में होता है, यूनिक्स समय संख्या लीप सेकंड के समय अगले दिन में निरन्तर बढ़ जाती है और फिर लीप सेकंड के अंत में 1 से पीछे हट जाती है (अगले दिन की प्रारंभ में लौटते हुए)। उदाहरण के लिए, 1998 के अंत में पोसिक्स .1 सिस्टम के सख्ती से अनुरूप होने पर यही हुआ:
टीएआई(1 जनवरी 1999) | यूटीसी (31 दिसंबर 1998 से 1 जनवरी 1999) | यूनिक्स समय |
---|---|---|
1999-01-01T00:00:29.75 | 1998-12-31T23:59:58.75 | 915148798.75 |
1999-01-01T00:00:30.00 | 1998-12-31T23:59:59.00 | 915148799.00 |
1999-01-01T00:00:30.25 | 1998-12-31T23:59:59.25 | 915148799.25 |
1999-01-01T00:00:30.50 | 1998-12-31T23:59:59.50 | 915148799.50 |
1999-01-01T00:00:30.75 | 1998-12-31T23:59:59.75 | 915148799.75 |
1999-01-01T00:00:31.00 | 1998-12-31T23:59:60.00 | 915148800.00 |
1999-01-01T00:00:31.25 | 1998-12-31T23:59:60.25 | 915148800.25 |
1999-01-01T00:00:31.50 | 1998-12-31T23:59:60.50 | 915148800.50 |
1999-01-01T00:00:31.75 | 1998-12-31T23:59:60.75 | 915148800.75 |
1999-01-01T00:00:32.00 | 1999-01-01T00:00:00.00 | 915148800.00 |
1999-01-01T00:00:32.25 | 1999-01-01T00:00:00.25 | 915148800.25 |
1999-01-01T00:00:32.50 | 1999-01-01T00:00:00.50 | 915148800.50 |
1999-01-01T00:00:32.75 | 1999-01-01T00:00:00.75 | 915148800.75 |
1999-01-01T00:00:33.00 | 1999-01-01T00:00:01.00 | 915148801.00 |
1999-01-01T00:00:33.25 | 1999-01-01T00:00:01.25 | 915148801.25 |
एक सकारात्मक लीप सेकंड के तुरंत बाद दूसरे में यूनिक्स समय संख्याएं दोहराई जाती हैं। यूनिक्स समय संख्या 1483142400 इस प्रकार अस्पष्ट है: यह या तो लीप सेकेंड (2016-12-31 23:59:60) की प्रारंभ या इसके अंत में एक सेकंड बाद (2017-01-01 00:00:00) को संदर्भित कर सकता है। सैद्धांतिक स्थिति में जब एक नकारात्मक लीप सेकेंड होता है, तो कोई अस्पष्टता नहीं होती है, किंतु इसके अतिरिक्त यूनिक्स समय संख्याओं की एक श्रृंखला होती है जो यूटीसी समय में किसी भी बिंदु को पूर्ण रूप से भी संदर्भित नहीं करती है।
एक यूनिक्स घड़ी को अधिकांशतः नेटवर्क टाइम प्रोटोकॉल (एनटीपी) से जुड़े एक अलग प्रकार के सकारात्मक लीप सेकेंड हैंडलिंग के साथ प्रयुक्त किया जाता है। यह एक ऐसी प्रणाली उत्पन्न करता है जो पोसिक्स मानक के अनुरूप नहीं है। विवरण के लिए एनटीपी से संबंधित अनुभाग देखें।
यूटीसी लीप सेकेंड को सम्मिलित नहीं करने वाली अवधियों के साथ काम करते समय दो यूनिक्स समय संख्याओं के बीच का अंतर समय के संबंधित बिंदुओं के बीच की अवधि के सेकंड में अवधि के समान होता है। यह एक सामान्य कम्प्यूटेशनल तकनीक है। चूँकि, जहाँ लीप सेकंड होते हैं, ऐसी गणनाएँ गलत उत्तर देती हैं। उन अनुप्रयोगों में जहां स्पष्टता के इस स्तर की आवश्यकता होती है, यूनिक्स समय से निपटने के समय लीप सेकेंड की तालिका से परामर्श करना आवश्यक होता है, और अधिकांशतः एक अलग समय एन्कोडिंग का उपयोग करना उत्तम होता है जो इस समस्या से पीड़ित नहीं होता है।
यूनिक्स समय संख्या, सापेक्ष के भागफल और मापांक को लेकर एक यूनिक्स समय संख्या आसानी से यूटीसी समय में वापस परिवर्तित हो जाती है 86400. भागफल युग के बाद से दिनों की संख्या है, और मापांक उस दिन मध्यरात्रि यूटीसी के बाद से सेकंड की संख्या है। यदि एक यूनिक्स समय संख्या दी गई है जो एक सकारात्मक लीप सेकंड के कारण अस्पष्ट है तो यह एल्गोरिथ्म इसे आधी रात के ठीक बाद के समय के रूप में व्याख्या करता है। यह कभी भी ऐसा समय उत्पन्न नहीं करता है जो एक लीप सेकंड के समय हो। यदि एक यूनिक्स समय संख्या दी गई है जो नकारात्मक लीप सेकेंड के कारण अमान्य है, तो यह समान रूप से अमान्य यूटीसी समय उत्पन्न करती है। यदि ये स्थितियाँ महत्वपूर्ण हैं, तो उनका पता लगाने के लिए लीप सेकंड की तालिका से परामर्श करना आवश्यक है।
नॉन-सिंक्रोनस नेटवर्क टाइम प्रोटोकॉल-आधारित वैरिएंट
सामान्यतः एक डेविड एल. मिल्स-शैली की यूनिक्स घड़ी को लीप सेकेंड हैंडलिंग के साथ कार्यान्वित किया जाता है जो यूनिक्स समय संख्या के परिवर्तन के साथ तुल्यकालिक नहीं है। समय संख्या प्रारंभ में घट जाती है जहां एक छलांग लगनी चाहिए थी, और फिर यह छलांग लगाने के 1 सेकंड बाद सही समय पर पहुंच जाती है। यह कार्यान्वयन को आसान बनाता है, और मिल्स पेपर द्वारा इसका वर्णन किया गया है।[7] सकारात्मक लीप सेकंड में यही होता है:
टीएआई ((1 जनवरी 1999)) | यूटीसी (31 दिसंबर 1998 से (1 जनवरी 1999)) | अवस्था | यूनिक्स घड़ी |
---|---|---|---|
1999-01-01T00:00:29.75 | 1998-12-31T23:59:58.75 | TIME_INS | 915148798.75 |
1999-01-01T00:00:30.00 | 1998-12-31T23:59:59.00 | TIME_INS | 915148799.00 |
1999-01-01T00:00:30.25 | 1998-12-31T23:59:59.25 | TIME_INS | 915148799.25 |
1999-01-01T00:00:30.50 | 1998-12-31T23:59:59.50 | TIME_INS | 915148799.50 |
1999-01-01T00:00:30.75 | 1998-12-31T23:59:59.75 | TIME_INS | 915148799.75 |
1999-01-01T00:00:31.00 | 1998-12-31T23:59:60.00 | TIME_INS | 915148800.00 |
1999-01-01T00:00:31.25 | 1998-12-31T23:59:60.25 | TIME_OOP | 915148799.25 |
1999-01-01T00:00:31.50 | 1998-12-31T23:59:60.50 | TIME_OOP | 915148799.50 |
1999-01-01T00:00:31.75 | 1998-12-31T23:59:60.75 | TIME_OOP | 915148799.75 |
1999-01-01T00:00:32.00 | 1999-01-01T00:00:00.00 | TIME_OOP | 915148800.00 |
1999-01-01T00:00:32.25 | 1999-01-01T00:00:00.25 | TIME_WAIT | 915148800.25 |
1999-01-01T00:00:32.50 | 1999-01-01T00:00:00.50 | TIME_WAIT | 915148800.50 |
1999-01-01T00:00:32.75 | 1999-01-01T00:00:00.75 | TIME_WAIT | 915148800.75 |
1999-01-01T00:00:33.00 | 1999-01-01T00:00:01.00 | TIME_WAIT | 915148801.00 |
1999-01-01T00:00:33.25 | 1999-01-01T00:00:01.25 | TIME_WAIT | 915148801.25 |
लीप सेकेंड स्टेट वेरिएबल पर ध्यान देकर इसे ठीक से डिकोड किया जा सकता है, जो स्पष्ट रूप से इंगित करता है कि क्या लीप अभी तक किया गया है। अवस्था चर परिवर्तन छलांग के साथ तुल्यकालिक है।
इसी तरह की स्थिति एक नकारात्मक लीप सेकंड के साथ उत्पन्न होती है, जहां दूसरा जो छोड़ दिया जाता है, उसमें थोड़ी बहुत देर हो जाती है। बहुत संक्षेप में प्रणाली नाममात्र की असंभव समय संख्या दिखाती है, किंतु इसे TIME_DEL स्थिति द्वारा पता लगाया जा सकता है और इसे ठीक किया जा सकता है।
इस प्रकार की प्रणाली में यूनिक्स समय संख्या दोनों प्रकार के लीप सेकंड के आसपास पोसिक्स का उल्लंघन करती है। समय संख्या के साथ लीप दूसरा अवस्था चर को एकत्रित करने से स्पष्ट डिकोडिंग की अनुमति मिलती है, इसलिए यदि वांछित हो तो सही पोसिक्स समय संख्या उत्पन्न की जा सकती है, या पूर्ण यूटीसी समय को अधिक उपयुक्त प्रारूप में संग्रहीत किया जा सकता है।
यूनिक्स घड़ी की इस शैली से निपटने के लिए आवश्यक डिकोडिंग तर्क भी उसी इंटरफ़ेस का उपयोग करके एक काल्पनिक पोसिक्स - अनुरूप घड़ी को सही रूप से डिकोड करेगा। यह सम्मिलित लीप सेकंड की संपूर्णता के समय TIME_INS स्थिति को इंगित करके प्राप्त किया जाएगा, फिर सेकंड की गिनती दोहराते हुए अगले सेकंड की संपूर्णता के समय TIME_WAIT का संकेत दिया जाएगा। इसके लिए सिंक्रोनस लीप सेकेंड हैंडलिंग की आवश्यकता होती है। यूनिक्स इंटरफ़ेस के माध्यम से यूनिक्स घड़ी के रूप में यूटीसी समय को व्यक्त करने का यह संभवतः सबसे अच्छी विधि है, जब अंतर्निहित घड़ी मौलिक रूप से लीप सेकेंड से परेशान नहीं होती है।
लीप सेकंड गिनने वाला संस्करण
यूनिक्स टाइम कीपिंग का एक और, बहुत दुर्लभ, गैर-अनुरूप संस्करण में लीप सेकंड सहित सभी सेकंड के लिए मूल्य बढ़ाना सम्मिलित है;[8] कुछ लिनक्स सिस्टम इस तरह से कॉन्फ़िगर किए गए हैं।[9] इस विधि से रखे गए समय को कभी-कभी टीएआई के रूप में संदर्भित किया जाता है (चूँकि टाइम स्टैम्प को यूटीसी में परिवर्तित किया जा सकता है यदि मान उस समय से मेल खाता है जब टीएआई और यूटीसी के बीच का अंतर ज्ञात हो), जैसा कि यूटीसी के विपरीत है (चूँकि सभी यूटीसी समय मान नहीं हैं) सिस्टम में एक अनूठा संदर्भ जो लीप सेकेंड की गणना नहीं करता है)।[9]
क्योंकि टीएआई में कोई लीप सेकंड नहीं है, और प्रत्येक टीएआई दिन ठीक 86400 सेकंड लंबा है, यह एन्कोडिंग वास्तव में 1970-01-01T00:00:10 के बाद से बीत चुके सेकंड की शुद्ध रैखिक गणना है। इससे यह समय अंतराल अंकगणित को बहुत आसान बनाता है। इन प्रणालियों के समय मूल्यों में अस्पष्टता नहीं होती है जो पोसिक्स सिस्टम या एनटीपी-संचालित सिस्टम के सख्ती से अनुरूप होती है।
इन प्रणालियों में यूटीसी और छद्म-यूनिक्स-टाइम प्रतिनिधित्व के बीच सही रूप से परिवर्तित करने के लिए लीप सेकेंड की तालिका से परामर्श करना आवश्यक है। यह उस विधि से मिलता जुलता है जिसमें समय क्षेत्र तालिकाओं को नागरिक समय से और उससे परिवर्तित करने के लिए परामर्श किया जाना चाहिए; आईएएनए समय क्षेत्र डेटाबेस में लीप सेकंड की जानकारी सम्मिलित है, और उसी स्रोत से उपलब्ध नमूना कोड उस जानकारी का उपयोग टीएआई-आधारित समय टिकटों और स्थानीय समय के बीच परिवर्तित करने के लिए करता है। यूटीसी के वर्तमान स्वरूप के 1972 के प्रारंभ से पहले रूपांतरण भी निश्चित समस्याओं में चला जाता है (नीचे अनुभाग या यूटीसी आधार देखें)।
यह प्रणाली, अपनी सतही समानता के अतिरिक्त, यूनिक्स समय की नहीं है। यह उन मानों के साथ समय को एन्कोड करता है जो पोसिक्स समय मानों से कई सेकंड भिन्न होते हैं। इस प्रणाली का एक संस्करण, जिसमें युग 1970-01-01T00:00:10 TAI के अतिरिक्त 1970-01-01T00:00:00 टीएआई था को आईएसओ C के समय में शामिल करने के लिए प्रस्तावित किया गया था, किंतु केवल UTC भाग 2011 में स्वीकार किया गया था.[10] चूँकि C++20 में एक ताई_क्लॉक उपस्थित है।
संख्या का प्रतिनिधित्व
संख्याओं का प्रतिनिधित्व करने में सक्षम किसी भी रूप में एक यूनिक्स समय संख्या का प्रतिनिधित्व किया जा सकता है। कुछ अनुप्रयोगों में संख्या को केवल दशमलव अंकों की एक स्ट्रिंग के रूप में पाठ्य रूप में दर्शाया जाता है, जिससे केवल तुच्छ अतिरिक्त समस्याएं उत्पन्न होती हैं। चूँकि यूनिक्स समय के कुछ द्विआधारी प्रतिनिधित्व विशेष रूप से महत्वपूर्ण हैं।
यूनिक्स time_t
डेटा प्रकार जो समय में एक बिंदु का प्रतिनिधित्व करता है, कई प्लेटफार्मों पर, एक हस्ताक्षरित पूर्णांक है, पारंपरिक रूप से 32 बिट्स का (किंतु नीचे देखें), सीधे यूनिक्स समय संख्या को एन्कोडिंग करता है जैसा कि पिछले अनुभाग में वर्णित है। एक हस्ताक्षरित 32-बिट मान 1970-01-01 युग से पहले और बाद के लगभग 68 वर्षों को कवर करता है। न्यूनतम प्रतिनिधित्व योग्य तिथि शुक्रवार 1901-12-13 है, और अधिकतम प्रतिनिधित्व योग्य तिथि मंगलवार 2038-01-19 है। 03:14:07 यूटीसी 2038-01-19 के एक सेकंड बाद यह प्रतिनिधित्व वर्ष 2038 समस्या के रूप में जाना जाता है।
कुछ नए ऑपरेटिंग सिस्टम में, time_t
64 बिट्स तक विस्तृत किया गया है। यह दोनों दिशाओं में लगभग 292 बिलियन वर्षों के प्रतिनिधित्व योग्य समय का विस्तार करता है, जो ब्रह्मांड की वर्तमान आयु से बीस गुना अधिक है।
मूल रूप से इस बात पर कुछ विवाद था कि क्या यूनिक्स time_t
हस्ताक्षरित या अहस्ताक्षरित होना चाहिए। यदि अहस्ताक्षरित है, तो भविष्य में इसकी सीमा दोगुनी हो जाएगी, 32-बिट अतिप्रवाह (68 वर्ष तक) को स्थगित कर दिया जाएगा। चूँकि यह युग से पहले के समय का प्रतिनिधित्व करने में असमर्थ होगा। के लिए सहमति है time_t
हस्ताक्षर करने के लिए, और यह सामान्य अभ्यास है। क्यूएनएक्स ऑपरेटिंग सिस्टम के संस्करण 6 के लिए सॉफ़्टवेयर डेवलपमेंट प्लेटफ़ॉर्म में एक अहस्ताक्षरित 32-बिट है time_t
, चूँकि पुराने रिलीज़ में हस्ताक्षरित प्रकार का उपयोग किया गया था।
पॉज़िक्स और खुला समूह यूनिक्स विनिर्देशों में सी मानक पुस्तकालय सम्मिलित है, जिसमें समय प्रकार और समय में परिभाषित कार्य सम्मिलित हैं। एच <time.h>
हेडर फाइल। आईएसओ सी मानक बताता है कि time_t
एक अंकगणितीय प्रकार होना चाहिए, किंतु इसके लिए किसी विशिष्ट प्रकार या एन्कोडिंग को अनिवार्य नहीं करता है। पॉज़िक्स की आवश्यकता है time_t
एक पूर्णांक प्रकार होने के लिए, किंतु यह अनिवार्य नहीं है कि यह हस्ताक्षरित या अहस्ताक्षरित हो।
यूनिक्स में सीधे गैर-पूर्णांक यूनिक्स समय संख्याओं को बाइनरी अंशों के रूप में प्रस्तुत करने की कोई परंपरा नहीं है। इसके अतिरिक्त, उप-सेकंड परिशुद्धता वाले समय को समग्र डेटा प्रकार का उपयोग करके दर्शाया जाता है जिसमें दो पूर्णांक होते हैं, पहला एक time_t
(यूनिक्स समय का अभिन्न अंग), और दूसरा मिलियनवें (में) समय संख्या का आंशिक भाग है struct timeval
) या अरबवें (में struct timespec
).[11][12] ये संरचनाएं एक दशमलव-आधारित फिक्स्ड-पॉइंट अंकगणित प्रदान करती हैं। फिक्स्ड-पॉइंट डेटा प्रारूप, जो कुछ अनुप्रयोगों के लिए उपयोगी है, और दूसरों के लिए परिवर्तित करने के लिए तुच्छ है।
यूटीसी आधार
लीप सेकेंड के साथ यूटीसी का वर्तमान स्वरूप केवल 1 जनवरी 1972 से परिभाषित किया गया है। इससे पहले, 1 जनवरी 1961 से यूटीसी का एक पुराना रूप था जिसमें न केवल सामयिक समय चरण थे, जो गैर-पूर्णांक द्वारा थे सेकंड की संख्या, किंतु साथ ही यूटीसी सेकंड एसआई सेकंड की तुलना में थोड़ा लंबा था, और समय-समय पर पृथ्वी के घूर्णन को निरन्तर अनुमानित करने के लिए बदल गया। 1961 से पहले कोई यूटीसी नहीं था, और 1958 से पहले कोई व्यापक परमाणु घड़ी नहीं थी; इन युगों में, परमाणु कालमान के अतिरिक्त जीएमटी (पृथ्वी के घूर्णन पर सीधे आधारित) के कुछ सन्निकटन का उपयोग किया गया था।
यूटीसी के एन्कोडिंग के रूप में यूनिक्स समय की स्पष्ट परिभाषा यूटीसी के वर्तमान स्वरूप पर प्रयुक्त होने पर ही विवादास्पद है। यूटीसी के इस रूप की प्रारंभ से पहले का यूनिक्स युग इस युग में इसके उपयोग को प्रभावित नहीं करता है: 1 जनवरी 1970 (यूनिक्स युग) से 1 जनवरी 1972 (यूटीसी की प्रारंभिक) तक के दिनों की संख्या प्रश्न में नहीं है और दिनों की संख्या यूनिक्स समय के लिए महत्वपूर्ण है।
नीचे यूनिक्स समय मूल्यों का अर्थ +63072000 (यानी, 1 जनवरी 1972 से पहले) स्पष्ट रूप से परिभाषित नहीं है। ऐसे यूनिक्स टाइम्स के आधार को यूटीसी का एक अनिर्दिष्ट सन्निकटन माना जाता है। उस युग के कंप्यूटरों में संभवतः ही कभी ऐसी घड़ियां होती थीं जो किसी भी स्थिति में अर्थपूर्ण सब-सेकंड टाइमस्टैम्प प्रदान करने के लिए पर्याप्त रूप से स्पष्ट रूप से सेट की गई हों। यूनिक्स समय उप-सेकंड परिशुद्धता की आवश्यकता वाले अनुप्रयोगों में 1972 से पहले के समय का प्रतिनिधित्व करने का एक उपयुक्त विधि नहीं है; ऐसे अनुप्रयोगों को कम से कम यह परिभाषित करना चाहिए कि वे किस प्रकार के यूटी या जीएमटी का उपयोग करते हैं।
As of 2009[update], सिविल टाइम में लीप सेकेंड के उपयोग को समाप्त करने की संभावना पर विचार किया जा रहा है।[13] इस परिवर्तन को निष्पादित करने का एक संभावित साधन एक नए समय के मापदंड को परिभाषित करना है, जिसे अंतर्राष्ट्रीय समय कहा जाता है, जो प्रारंभ में यूटीसी से मेल खाता है किंतु उसके बाद कोई लीप सेकंड नहीं है, इस प्रकार टीएआई से निरन्तर ऑफसेट पर रहता है। यदि ऐसा होता है, तो संभावना है कि यूटीसी के अतिरिक्त यूनिक्स समय को इस नए समय के मापदंड के संदर्भ में संभावित रूप से परिभाषित किया जाएगा। इस बारे में अनिश्चितता कि क्या यह घटित होगा संभावित यूनिक्स समय को पहले से कम अनुमानित नहीं बनाता है: यदि यूटीसी के पास आगे कोई लीप सेकंड नहीं होता तो परिणाम वही होता है।
इतिहास
यूनिक्स समय के प्रारंभिक संस्करणों में 60 हेटर्स की दर से 32-बिट पूर्णांक वृद्धि हुई थी, जो प्रारंभिक यूनिक्स सिस्टम के हार्डवेयर पर सिस्टम क्लॉक की दर थी। इस तरह संग्रहीत टाइमस्टैम्प केवल ढाई साल से कुछ अधिक की सीमा का प्रतिनिधित्व कर सकते हैं। अतिप्रवाह को रोकने के लिए यूनिक्स रिलीज के साथ युग की गणना की जा रही थी, 1 जनवरी 1971 और 1 जनवरी 1972 की मध्यरात्रि को यूनिक्स के प्रारंभिक विकास के समय युगों के रूप में उपयोग किया जा रहा था। यूनिक्स समय की प्रारंभिक परिभाषाओं में भी समय क्षेत्र का अभाव था।[14][15]
1 जनवरी 1970 00:00:00 यूटीसी के वर्तमान युग को यूनिक्स इंजीनियरों द्वारा इच्छानुसार रूप से चुना गया था क्योंकि इसे काम करने के लिए एक सुविधाजनक तिथि माना जाता था। शॉर्ट-टर्म ओवरफ्लो से बचने के लिए स्पष्टता को सेकंड में गिनने के लिए बदल दिया गया था।[1]
जब पोसिक्स.1 लिखा गया था, तो यह सवाल उठा कि लीप सेकंड के सामने time_t
को स्पष्ट रूप से कैसे परिभाषित किया जाए। पोसिक्स समिति ने विचार किया कि क्या यूनिक्स समय, युग के बाद से सेकंड की एक रेखीय गणना के रूप में रहना चाहिए, सिविल समय के साथ रूपांतरण में जटिलता की कीमत पर या सिविल समय का प्रतिनिधित्व, लीप सेकंड के आसपास असंगतता की कीमत पर। युग की कंप्यूटर घड़ियां एक या दूसरे विधि से मिसाल कायम करने के लिए पर्याप्त रूप से स्पष्ट रूप से सेट नहीं थीं।
पोसिक्स समिति को पुस्तकालय कार्यों में जटिलता के विपरीत तर्कों से प्रभावित किया गया था और यूटीसी समय के तत्वों के संदर्भ में सरल विधि से यूनिक्स समय को दृढ़ता से परिभाषित किया गया था। यह परिभाषा इतनी सरल थी कि इसमें ग्रेगोरियन कैलेंडर के पूरे लीप वर्ष नियम को भी सम्मिलित नहीं किया गया था और 2100 को एक लीप वर्ष बना दिया जाएगा।
पोसिक्स 1 के 2001 के संस्करण ने यूनिक्स समय की परिभाषा में दोषपूर्ण लीप वर्ष नियम को सुधारा, किंतु यूनिक्स समय की आवश्यक परिभाषा को एक रैखिक समय मापदंड के अतिरिक्त यूटीसी के एन्कोडिंग के रूप में बनाए रखा था। 1990 के दशक के मध्य से, कंप्यूटर घड़ियों को नियमित रूप से इसके लिए पर्याप्त स्पष्टता के साथ सेट किया गया है, और वे सामान्यतः यूनिक्स समय की यूटीसी-आधारित परिभाषा का उपयोग करके सेट की गई हैं। इसके परिणामस्वरूप यूनिक्स कार्यान्वयन में और नेटवर्क टाइम प्रोटोकॉल में, जब भी लीप सेकेंड होते हैं, यूनिक्स समय संख्या में कदमों को निष्पादित करने में अधिक जटिलता होती है।
उपयोग
यूनिक्स समय व्यापक रूप से यूनिक्स के सिस्टम समय के रूप में अपने मूल अनुप्रयोग से परे कंप्यूटिंग में अपनाया जाता है। यूनिक्स समय लगभग सभी सिस्टम प्रोग्रामिंग एपीआई में उपलब्ध है, जिसमें यूनिक्स-आधारित और गैर-यूनिक्स ऑपरेटिंग सिस्टम दोनों द्वारा प्रदान किया गया है। लगभग सभी आधुनिक प्रोग्रामिंग भाषाएँ यूनिक्स समय के साथ काम करने या उन्हें किसी अन्य डेटा संरचना में परिवर्तित करने के लिए एपीआई प्रदान करती हैं। यूनिक्स समय का उपयोग कई फाइल सिस्टम, फ़ाइल स्वरूपों और डेटाबेस में टाइमस्टैम्प को संग्रहित करने के लिए एक तंत्र के रूप में भी किया जाता है।
C मानक पुस्तकालय सभी दिनांक और समय कार्यों के लिए यूनिक्स समय का उपयोग करता है, और यूनिक्स समय को कभी-कभी time_t
के रूप में संदर्भित किया जाता है, सी (प्रोग्रामिंग भाषा) और सी ++ में टाइमस्टैम्प के लिए उपयोग किए जाने वाले डेटा प्रकार का नाम C के यूनिक्स टाइम फ़ंक्शंस को पोसिक्स विनिर्देशन में सिस्टम टाइम एपीआई के रूप में परिभाषित किया गया है।[16] सी मानक पुस्तकालय का उपयोग सभी आधुनिक डेस्कटॉप ऑपरेटिंग सिस्टमों में बड़े मापदंड पर किया जाता है, जिसमें माइक्रोसॉफ़्ट विंडोज़ और यूनिक्स जैसे सिस्टम जैसे मैकोज़ और लिनक्स सम्मिलित हैं, जहां यह एक मानक प्रोग्रामिंग इंटरफ़ेस है।[17][18][19]
आईओएस एक स्विफ्ट एपीआई प्रदान करता है जो 1 जनवरी 2001 के युग का उपयोग करने के लिए डिफ़ॉल्ट है किंतु यूनिक्स टाइमस्टैम्प के साथ भी इसका उपयोग किया जा सकता है।[20] एंड्रॉइड (ऑपरेटिंग सिस्टम) अपने सिस्टम टाइम एपीआई के लिए टाइमज़ोन के साथ यूनिक्स समय का उपयोग करता है।[21]
विंडोज आंतरिक रूप से समय संग्रहीत करने के लिए यूनिक्स समय का उपयोग नहीं करता है, किंतु इसका उपयोग सिस्टम एपीआई में करता है, जो सी ++ में प्रदान किया जाता है और सी मानक पुस्तकालय विनिर्देश को प्रयुक्त करता है।[17] विंडोज़ निष्पादनयोग्य के लिए पीई प्रारूप में यूनिक्स समय का उपयोग किया जाता है।[22]
यूनिक्स समय सामान्यतः प्रमुख प्रोग्रामिंग भाषाओं में उपलब्ध है और व्यापक रूप से डेस्कटॉप, मोबाइल और वेब एप्लिकेशन प्रोग्रामिंग में उपयोग किया जाता है। जावा (प्रोग्रामिंग भाषा) एक इंस्टेंट ऑब्जेक्ट प्रदान करता है जो सेकंड और नैनोसेकंड दोनों में एक यूनिक्स टाइमस्टैम्प रखता है।[23] पायथन (प्रोग्रामिंग भाषा) एक समय पुस्तकालय प्रदान करता है जो यूनिक्स समय का उपयोग करता है।[24] जावास्क्रिप्ट एक दिनांक पुस्तकालय प्रदान करता है जो यूनिक्स युग के बाद से मिलीसेकंड में टाइमस्टैम्प प्रदान करता है और संग्रहीत करता है और सभी आधुनिक डेस्कटॉप और मोबाइल वेब ब्राउज़र्स के साथ-साथ नोड.जेएस जैसे जावास्क्रिप्ट सर्वर वातावरण में प्रयुक्त किया जाता है।[25]
यूनिक्स-आधारित ऑपरेटिंग सिस्टम के साथ उपयोग के लिए डिज़ाइन किए गए फाइलसिस्टम यूनिक्स समय का उपयोग करते हैं। एपीएफएस, सभी एप्पल उपकरणों में डिफ़ॉल्ट रूप से उपयोग की जाने वाली फ़ाइल प्रणाली, और एक्स्ट4 , जो लिनक्स और एंड्रॉयड उपकरणों पर व्यापक रूप से उपयोग की जाती है, दोनों फ़ाइल टाइमस्टैम्प के लिए नैनोसेकंड में यूनिक्स समय का उपयोग करते हैं।[26][27] कई संग्रह फ़ाइल प्रारूप यूनिक्स समय में आरएआर (फ़ाइल स्वरूप) और टार (कंप्यूटिंग) सहित टाइमस्टैम्प स्टोर कर सकते हैं।[28][29] यूनिक्स समय का उपयोग सामान्यतः माई एसक्यूएल और पोस्टग्रेएसक्यूएल सहित डेटाबेस में टाइमस्टैम्प को स्टोर करने के लिए भी किया जाता है।[30][31]
सीमाएं
यूनिक्स समय को कैलेंडर की तारीखों और समय को कॉम्पैक्ट विधि से एन्कोड करने के लिए डिज़ाइन किया गया था, जिसका उद्देश्य कंप्यूटर द्वारा आंतरिक रूप से उपयोग करना था। इसका उद्देश्य मनुष्यों द्वारा आसानी से पढ़ा जाना या समयक्षेत्र-निर्भर मूल्यों को संग्रहीत करना नहीं है। यह सेकंड में समय का प्रतिनिधित्व करने के लिए डिफ़ॉल्ट रूप से भी सीमित है, जब समय की अधिक स्पष्ट माप की आवश्यकता होती है, जैसे कार्यक्रमों के निष्पादन समय को मापते समय इसे उपयोग के लिए अनुपयुक्त बना दिया जाता है।[32]
प्रतिनिधित्व योग्य समय की सीमा
डिज़ाइन के अनुसार यूनिक्स समय को संचयन के लिए एक विशिष्ट आकार की आवश्यकता नहीं होती है, किंतु यूनिक्स समय के अधिकांश सामान्य कार्यान्वयन अंतर्निहित कंप्यूटर के शब्द आकार के साथ एक हस्ताक्षरित पूर्णांक का उपयोग करते हैं। चूंकि अधिकांश आधुनिक कंप्यूटर 32-बिट या 64-बिट हैं, और बड़ी संख्या में प्रोग्राम अभी भी 32-बिट संगतता मोड में लिखे गए हैं, इसका अर्थ है कि यूनिक्स समय का उपयोग करने वाले कई प्रोग्राम हस्ताक्षरित 32-बिट पूर्णांक फ़ील्ड का उपयोग कर रहे हैं। हस्ताक्षरित 32 बिट पूर्णांक का अधिकतम मान 231-1 है, और न्यूनतम मान -(231) है, जिससे 13 दिसंबर 1901 से पहले (20:45:52 यूटीसी पर) या 19 जनवरी 2038 (पर) के बाद की तारीखों का प्रतिनिधित्व करना असंभव हो जाता है। 03:14:07 यूटीसी)। प्रारंभिक कटऑफ का उन डेटाबेस पर प्रभाव पड़ सकता है जो ऐतिहासिक जानकारी संग्रहीत कर रहे हैं; कुछ डेटाबेस में जहां टाइमस्टैम्प के लिए 32-बिट यूनिक्स समय का उपयोग किया जाता है, 1901 से पहले की तारीखों को दर्शाने के लिए समय को फ़ील्ड के एक अलग रूप, जैसे स्ट्रिंग, में संग्रहीत करना आवश्यक हो सकता है। देर से कटऑफ को वर्ष 2038 समस्या के रूप में जाना जाता है और जैसे-जैसे तारीख समीप आती है, समस्याएँ उत्पन्न होने की संभावना होती है, क्योंकि 2038 कटऑफ से आगे की तारीखें 1901 में प्रतिनिधित्व योग्य सीमा की शुरुआत के आसपास आ जाएंगी।[32]: 60
तिथि सीमा कटऑफ यूनिक्स समय के 64-बिट प्रतिनिधित्व के साथ कोई समस्या नहीं है, क्योंकि हस्ताक्षरित 64-बिट पूर्णांक में संग्रहीत यूनिक्स समय के साथ प्रतिनिधित्व योग्य तिथियों की प्रभावी सीमा 584 बिलियन वर्ष से अधिक है।[32]: 60-61 [33]
विकल्प
यूनिक्स समय समय के लिए एकमात्र मानक नहीं है जो एक युग से दूर गिना जाता है। माइक्रोसॉफ्ट विंडोज़ पर, FILETIME
1 जनवरी 1601 को 0:00 जीएमटी के बाद से बीत चुके 100-नैनोसेकंड अंतराल की गिनती के रूप में स्टोर समय टाइप करें।[34] विंडोज एपोच टाइम का उपयोग फाइलों के लिए टाइम स्टैम्प स्टोर करने के लिए किया जाता है[35] और सक्रिय निर्देशिका समय सेवा जैसे प्रोटोकॉल में[36] और सर्वर संदेश ब्लॉक है |
कंप्यूटरों के बीच समय का समन्वय करने के लिए उपयोग किया जाने वाला नेटवर्क टाइम प्रोटोकॉल 1 जनवरी 1900 के युग का उपयोग करता है, जिसे सेकंड के लिए एक अहस्ताक्षरित 32-बिट पूर्णांक में गिना जाता है और भिन्नात्मक सेकंड के लिए एक और अहस्ताक्षरित 32-बिट पूर्णांक में गिना जाता है, जो हर 232 सेकंड में रोल करता है (लगभग हर 136 में एक बार) साल)।[37]
कई एप्लिकेशन और प्रोग्रामिंग लैंग्वेज एक स्पष्ट टाइमज़ोन के साथ समय को संग्रहीत करने के विधि प्रदान करते हैं।[38] ऐसे कई समय प्रारूप मानक भी हैं जो मानव और कंप्यूटर दोनों के लिए पठनीय हैं, जैसे आईएसओ 8601।
यूनिक्स समय में उल्लेखनीय घटनाएं
यूनिक्स उत्साही लोगों के पास यूनिक्स समय संख्या के महत्वपूर्ण मूल्यों का जश्न मनाने के लिए time_t
पार्टियों (उच्चारण समय चाय पार्टी) आयोजित करने का इतिहास है।[39][40] ये नए साल के जश्न के सीधे अनुरूप हैं जो कई कैलेंडर में साल के बदलाव पर होते हैं। जैसे-जैसे यूनिक्स समय का उपयोग फैल गया है, वैसे-वैसे इसके मील के पत्थर को मनाने का चलन भी बढ़ गया है। देखने की यूनिक्स परिपाटी के बाद सामान्यतः यह समय के मान हैं जो दशमलव में गोल संख्याएं हैं जिन्हें मनाया जाता है time_t
दशमलव में मान कुछ समूहों में राउंड बाइनरी अंक प्रणाली संख्याएं भी मनाई जाती हैं, जैसे +230 जो शनिवार, 10 जनवरी 2004 को 13:37:04 यूटीसी पर हुआ।
जिन घटनाओं का ये जश्न मनाते हैं उन्हें सामान्यतः यूनिक्स युग के बाद से एन सेकंड के रूप में वर्णित किया जाता है, किंतु यह गलत है; जैसा कि ऊपर चर्चा की गई है, यूनिक्स समय में लीप सेकेंड की हैंडलिंग के कारण यूनिक्स युग के बाद से सेकंड की संख्या यूनिक्स समय संख्या से थोड़ी अधिक है जो युग के बाद के समय के लिए है।
- बुधवार, 17 अक्टूबर 1973 को 18:36:57 यूटीसी पर, आईएसओ 8601 प्रारूप में तारीख की पहली उपस्थिति[lower-alpha 1] (1973-10-17) यूनिक्स समय के अंकों के अंदर (119731017) हुआ।
- रविवार, 9 सितंबर 2001 को 01:46:40 यूटीसी पर, यूनिक्स बिलेनियम (यूनिक्स टाइम नंबर) 1000000000) मनाया गया।[41] बिलेनियम नाम अरब (शब्द) और सहस्राब्दी का सूटकेस है।[42]</nowiki></ref>[43] कुछ प्रोग्राम जो टेक्स्ट प्रतिनिधित्व का उपयोग करके टाइमस्टैम्प को संग्रहीत करते हैं, उन्हें सॉर्टिंग त्रुटियों का सामना करना पड़ा, जैसे टेक्स्ट सॉर्ट में, 1 अंक से प्रारंभ होने वाले टर्नओवर के बाद 9 अंक से प्रारंभ होने वाले समय से पहले गलत विधि से सॉर्ट किया गया। प्रभावित कार्यक्रमों में लोकप्रिय यूज़नेट रीडर केएनओडी और ईमेल क्लाइंट के-मेल सम्मिलित हैं, जो केडीई डेस्कटॉप वातावरण का भाग हैं। इस तरह के कीड़े सामान्यतः प्रकृति में कॉस्मेटिक होते हैं और एक बार समस्या स्पष्ट हो जाने पर इसे तुरंत ठीक कर दिया जाता है। समस्या ने वर्ड पर्फेक्ट के लिनक्स संस्करणों के साथ प्रदान किए गए कई फिल्ट्रिक्स दस्तावेज़-प्रारूप फ़िल्टर को भी प्रभावित किया; इस समस्या को हल करने के लिए उपयोगकर्ता समुदाय द्वारा एक पैच बनाया गया था, क्योंकि कोरल अब प्रोग्राम के उस संस्करण को बेचा या समर्थित नहीं करता था।[44]
- शुक्रवार, 13 फरवरी 2009 को 23:31:30 यूटीसी पर, यूनिक्स समय का दशमलव प्रतिनिधित्व पहुंचा 1234567890 सेकंड[45] गूगल ने डूडल बनाकर इसे सेलिब्रेट किया।[46] जश्न मनाने के लिए, विभिन्न तकनीकी उपसंस्कृतियों के बीच, दुनिया भर में पार्टियाँ और अन्य समारोह आयोजित किए गए।[39][47]
लोकप्रिय संस्कृति में
वर्नर विंग का उपन्यास डीपनेस इन द स्काई भविष्य में हजारों वर्षों की एक स्पेसफेयरिंग व्यापारिक सभ्यता का वर्णन करता है जो अभी भी यूनिक्स युग का उपयोग करती है। परिपक्व कंप्यूटर सिस्टम में प्रयोग करने योग्य कोड को खोजने और बनाए रखने के लिए जिम्मेदार प्रोग्रामर-पुरातत्वविद सॉफ्टवेयर पुरातत्वविद पहले मानते हैं कि युग उस समय को संदर्भित करता है जब अपोलो 11, किंतु तब पता चलता है कि यह मानव जाति के पहले कंप्यूटर ऑपरेटिंग सिस्टम में से एक का 0-सेकंड है।[48]
यह भी देखें
- युग (कंप्यूटिंग)
- सिस्टम समय
टिप्पणियाँ
- ↑ cited retroactively since ISO 8601 was published in 1988.
संदर्भ
- ↑ 1.0 1.1 Farhad, Manjoo (8 September 2001). "यूनिक्स टिक टॉक टू ए बिलियन". Wired (in English). ISSN 1059-1028. Archived from the original on 11 September 2022. Retrieved 16 October 2022.
- ↑ "The Open Group Base Specifications Issue 7, Rationale: Base Definitions, section A.4 General Concepts". The Open Group. Archived from the original on 15 November 2017. Retrieved 9 September 2019.
- ↑ 3.0 3.1 3.2 "The Open Group Base Specifications Issue 7, section 4.16 Seconds Since the Epoch". The Open Group. Archived from the original on 22 December 2017. Retrieved 22 January 2017.
- ↑ "शॉर्टकट में प्रारूप तिथि का उपयोग करके टाइमस्टैम्प को संभालना". Apple Inc. (in English). Archived from the original on 19 June 2019. Retrieved 19 June 2019.
- ↑ "CSV निर्यातित रिपोर्ट में RAW दिनांक स्वरूप". International Business Machines Corporation (IBM) (in English). 22 April 2016. Archived from the original on 19 June 2019. Retrieved 19 June 2019.
- ↑ "टाइमस्टैम्प द्वारा (Azure स्ट्रीम एनालिटिक्स)". Microsoft Corporation (in English). Archived from the original on 19 June 2019. Retrieved 19 June 2019.
- ↑ Mills, David L. (12 May 2012). "एनटीपी टाइमस्केल और लीप सेकेंड". eecis.udel.edu. Archived from the original on 15 May 2012. Retrieved 21 August 2017.
- ↑ "प्रेसिजन टाइमकीपिंग". Sources for time zone and daylight saving time data. Archived from the original on 16 October 2017. Retrieved 30 May 2022.
The tz code and data support leap seconds via an optional "right" configuration where a computer's internal time_t integer clock counts every TAI second, as opposed to the default "posix" configuration where the internal clock ignores leap seconds. The two configurations agree for timestamps starting with 1972-01-01 00:00:00 UTC (time_t 63 072 000) and diverge for timestamps starting with time_t 78 796 800, which corresponds to the first leap second 1972-06-30 23:59:60 UTC in the "right" configuration, and to 1972-07-01 00:00:00 UTC in the "posix" configuration.
- ↑ 9.0 9.1 "समय तराजू". Network Time Protocol Wiki. 24 July 2019. Archived from the original on 12 January 2020. Retrieved 12 January 2020.
- ↑ Markus Kuhn. "आईएसओ सी के लिए आधुनिक एपीआई". www.cl.cam.ac.uk. Archived from the original on 26 September 2020. Retrieved 31 August 2020.
- ↑ "timepec". NetBSD Manual Pages. 12 April 2011. Archived from the original on 10 August 2019. Retrieved 5 July 2019.
- ↑ "समय। एच (0 पी)". Linux manual page. Archived from the original on 27 June 2019. Retrieved 5 July 2019.
- ↑ McCarthy, D. D.; Seidelmann, P. K. (2009). TIME—From Earth Rotation to Atomic Physics. Weinheim: Wiley–VCH Verlag GmbH & Co. KGaA. p. 232. ISBN 978-3-527-40780-4.
- ↑ यूनिक्स प्रोग्रामर का मैनुअल (PDF) (1st ed.). 3 November 1971. Archived (PDF) from the original on 5 March 2022. Retrieved 28 March 2012.
time returns the time since 00:00:00, Jan. 1, 1971, measured in sixtieths of a second.
- ↑ यूनिक्स प्रोग्रामर का मैनुअल (PDF) (3rd ed.). 15 March 1972. Retrieved 11 February 2023.
time returns the time since 00:00:00, Jan. 1, 1972, measured in sixtieths of a second...The time is stored in 32 bits. This guarantees a crisis every 2.26 years.
- ↑ "The Open Group Technical Standard Base Specifications Issue 7 (2018 edition)". IEEE and The Open Group. Retrieved 1 May 2023.
- ↑ 17.0 17.1 "time, _time32, _time64". learn.microsoft.net. Microsoft Corporation. Retrieved 1 May 2023.
- ↑ "GNU C लाइब्रेरी (glibc)". The GNU Operating Sisyem. Free Software Foundation. Retrieved 1 May 2023.
The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel.
- ↑ "Mac OS X Manual Page for localtime(3)". Apple Documentation Archive. Apple Inc. Retrieved 1 May 2023.
- ↑ "NSDate". Apple Developer Documentation. Apple Inc. Retrieved 1 May 2023.
- ↑ "समय अवलोकन". Android Open Source Project. Google LLC. Retrieved 1 May 2023.
- ↑ "PE Format - Win32 apps". learn.microsoft.com (in English). Microsoft Corporation. Retrieved 1 May 2023.
- ↑ "Instant (Java Platform SE 8 )". docs.oracle.com. Oracle. Retrieved 1 May 2023.
- ↑ "time — Time access and conversions", Python documentation, archived from the original on 22 July 2022, retrieved 25 July 2022
- ↑ "Date - JavaScript | MDN". developer.mozilla.org. Mozilla. Retrieved 1 May 2023.
- ↑ Apple File System Reference (PDF), p. 57, retrieved 19 October 2022,
This timestamp is represented as the number of nanoseconds since January 1, 1970 at 0:00 UTC, disregarding leap seconds
- ↑ "डाटा संरचनाओं और एल्गोरिदम". The Linux Kernel documentation. Linux Kernel Organization, Inc. Retrieved 1 May 2023.
- ↑ "RAR 5.0 archive format". www.rarlab.com. win.rar GmbH. Retrieved 1 May 2023.
Time is stored in Unix time_t format if this flags [sic] is set and in Windows FILETIME format otherwise
- ↑ "टेप संग्रह (टार) फ़ाइल स्वरूप परिवार". www.loc.gov. Library of Congress. 7 January 2021. Retrieved 1 May 2023.
- ↑ "Date and Time Functions", MySQL 8.0 Reference Manual, retrieved 19 October 2022
- ↑ "8.5. Date/Time Types". PostgreSQL Documentation (in English). The PostgreSQL Global Development Group. 9 February 2023. Retrieved 1 May 2023.
- ↑ 32.0 32.1 32.2 Rochkind, Mark (2004). उन्नत यूनिक्स प्रोग्रामिंग (2nd ed.). Addison-Wesley. pp. 56–63. ISBN 978-0-13-141154-8.
- ↑ IDRBT Working Paper No. 9 Y2K38 – Ashutosh Saxena and Sanjay Rawat
- ↑ "FILETIME (minwinbase.h) - Win32 apps". Microsoft Learn. Microsoft. Retrieved 9 March 2023.
- ↑ "File Times - Win32 apps". Microsoft Learn. Microsoft. Retrieved 9 March 2023.
- ↑ "How to convert date/time attributes in Active Directory to standard time format". Microsoft Learn. Microsoft. Retrieved 20 October 2022.
- ↑ W. Richard Stevens; Bill Fenner; Andrew M. Rudoff (2004). यूनिक्स नेटवर्क प्रोग्रामिंग. Addison-Wesley Professional. pp. 582–. ISBN 978-0-13-141155-5. Archived from the original on 30 March 2019. Retrieved 16 October 2016.
- ↑ "datetime — Basic date and time types". Python Standard Library Reference. Python Software Foundation. Retrieved 20 October 2022.
Attributes: year, month, day, hour, minute, second, microsecond, and tzinfo.
- ↑ 39.0 39.1 Tweney, Dylan (12 February 2009). "Unix Lovers to Party Like It's 1234567890". Wired. Archived from the original on 29 March 2014. Retrieved 12 March 2017.
- ↑ "Slashdot | date +%s Turning 1111111111". 17 March 2005. Archived from the original on 12 January 2020. Retrieved 12 January 2020.[unreliable source?]
- ↑ {{cite web|title=यूनिक्स समय तथ्य और सामान्य ज्ञान - यूनिक्स समय। जानकारी|url=http://unixtime.info/facts.html%7Carchive-url=https://web.archive.org/web/20171027205157/http://unixtime.info/facts.html%7Carchive-date=27 October 2017}
- ↑ रेफरी>"UNIX एक अरब की परिपक्व आयु के करीब पहुंच गया है". Electromagnetic.net. Archived from the original on 13 April 2013. Retrieved 6 December 2012.<nowiki>
- ↑ Neumann, Peter G. (15 October 2001). "The Risks Digest Volume 21: Issue 69". Catless.ncl.ac.uk. Archived from the original on 22 October 2015. Retrieved 6 December 2012.
- ↑ "तकनीकी समस्याएँ।". linuxmafia.com. Archived from the original on 11 October 2012. Retrieved 21 August 2017.
- ↑ nixCraft. "Humor: On Feb, Friday 13, 2009 Unix time Will Be 1234567890". Cyberciti.biz. Retrieved 6 December 2012.
- ↑ "Google 1234567890 Logo". Google Inc. Archived from the original on 11 January 2013. Retrieved 28 January 2013.
- ↑ Ahmed, Murad (13 February 2009). "At the third stroke, the Unix time will be 1234567890". The Times. Archived from the original on 14 November 2016. Retrieved 12 January 2020.
- ↑ Mashey, John R. (27 December 2004). "भाषाएँ, स्तर, पुस्तकालय और दीर्घायु". Queue. 2 (9): 32–38. doi:10.1145/1039511.1039532. S2CID 28911378. Archived from the original on 10 August 2019. Retrieved 12 January 2020.
बाहरी संबंध
- Unix Programmer's Manual, first edition
- Personal account of the पोसिक्स decisions by Landon Curt Noll
- chrono-Compatible Low-Level Date Algorithms – algorithms to convert between Gregorian and Julian dates and the number of days since the start of Unix time