यूनिक्स समय

From Vigyanwiki
वर्तमान यूनिक्स समय
1765438456 (update)
2025-12-11T07:34:16+00:00
यूनिक्स का समय बीत गया 1000000000 सेकेंड पर 2001-09-09T01:46:40Z.[1] यह कोपेनहेगन, डेनमार्क में डेनिश यूनिक्स उपयोगकर्ता समूह द्वारा स्थानीय समयानुसार 03:46:40 पर आयोजित एक पार्टी में मनाया गया।

यूनिक्स समय{{efn|Unix time is also known as "Epoch time", "POSIX time",[2] "seconds since the Epoch",[3] "Unix timestamp" or "UNIX Epoch time".[4]}[[युग (कम्प्यूटिंग )]] में व्यापक रूप से उपयोग की जाने वाली दिनांक और समय का प्रतिनिधित्व है। यह [[ छलांग दूसरा ]] के कारण किए गए समायोजन के बिना, 1 जनवरी 1970, यूनिक्स एपोच (कंप्यूटिंग) पर 00:00:00 समन्वित यूनिवर्सल टाइम के बाद से बीत चुके सेकंड की संख्या से समय को मापता है। आधुनिक कंप्यूटिंग में, मूल्यों को कभी-कभी उच्च डेटा ग्रैन्युलैरिटी के साथ संग्रहीत किया जाता है, जैसे कि microseconds या नैनोसेकंड

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

परिभाषा

यूनिक्स समय को वर्तमान में सेकंड की संख्या के रूप में परिभाषित किया गया है जो 00:00:00 के बाद से पारित हो गया हैयूटीसी गुरुवार, 1 जनवरी 1970 को, जिसे यूनिक्स एपोच (कंप्यूटिंग) कहा जाता है। यूनिक्स समय आमतौर पर एक हस्ताक्षरित पूर्णांक के रूप में एन्कोड किया जाता है।[3]

यूनिक्स का समय 0 1 जनवरी 1970 को ठीक मध्य रात्रि UTC है, इसके बाद प्रत्येक गैर-लीप सेकंड के लिए यूनिक्स समय में 1 की वृद्धि हुई है। उदाहरण के लिए, 00:00:001 जनवरी 1971 को UTC को यूनिक्स समय के रूप में दर्शाया गया है 31536000. नकारात्मक मान यूनिक्स युग से पहले के समय को इंगित करते हैं, युग से पहले प्रत्येक गैर-लीप सेकेंड के लिए 1 से घटते हुए मूल्य के साथ। उदाहरण के लिए, 00:00:001 जनवरी 1969 को UTC को यूनिक्स समय के रूप में दर्शाया गया है −31536000. यूनिक्स समय में हर दिन सटीक होता है 86400 सेकंड।

यूनिक्स समय को कभी-कभी एपोच टाइम भी कहा जाता है। यह भ्रामक हो सकता है क्योंकि यूनिक्स समय एक युग पर आधारित एकमात्र समय प्रणाली नहीं है और यूनिक्स युग अन्य समय प्रणालियों द्वारा उपयोग किया जाने वाला एकमात्र युग नहीं है।[5][6][7]


लीप सेकंड

लीप सेकंड के प्रबंधन में यूनिक्स समय समन्वित यूनिवर्सल टाइम (UTC) और अंतर्राष्ट्रीय परमाणु समय (TAI) दोनों से अलग है। यूटीसी में लीप सेकेंड शामिल हैं जो सटीक समय के बीच विसंगति के लिए समायोजित होते हैं, जैसा कि परमाणु घड़ियों द्वारा मापा जाता है, और सूर्य के संबंध में पृथ्वी की स्थिति से संबंधित सौर समय। अंतर्राष्ट्रीय परमाणु समय (TAI), जिसमें हर दिन ठीक है 86400 सेकंड लंबा, सौर समय की उपेक्षा करता है और धीरे-धीरे लगभग एक सेकंड प्रति वर्ष की दर से पृथ्वी के घूर्णन के साथ तादात्म्य खो देता है। यूनिक्स समय में, हर दिन बिल्कुल शामिल होता है 86400 सेकंड। प्रत्येक लीप सेकंड एक सेकंड के TIMESTAMP का उपयोग करता है जो तुरंत पहले या बाद में होता है।[3] एक सामान्य यूटीसी दिवस पर, जिसकी अवधि होती है 86400 सेकेंड, यूनिक्स समय संख्या मध्यरात्रि में निरंतर कार्य तरीके से बदलती है। उदाहरण के लिए, उपरोक्त उदाहरणों में प्रयुक्त दिन के अंत में, समय निरूपण निम्नानुसार आगे बढ़ता है:

Unix time across midnight into 17 September 2004 (no leap second)
TAI (17 September 2004) UTC (16 to 17 September 2004) Unix time
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 के अंत में POSIX.1 सिस्टम के कड़ाई से अनुरूप होने पर यही हुआ:

Unix time across midnight into 1 January 1999 (positive leap second)
TAI (1 January 1999) UTC (31 December 1998 to 1 January 1999) Unix time
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) को संदर्भित कर सकता है। सैद्धांतिक मामले में जब एक नकारात्मक लीप सेकेंड होता है, तो कोई अस्पष्टता नहीं होती है, बल्कि इसके बजाय यूनिक्स समय संख्याओं की एक श्रृंखला होती है जो यूटीसी समय में किसी भी बिंदु को बिल्कुल भी संदर्भित नहीं करती है।

एक यूनिक्स घड़ी को अक्सर नेटवर्क टाइम प्रोटोकॉल (एनटीपी) से जुड़े एक अलग प्रकार के सकारात्मक लीप सेकेंड हैंडलिंग के साथ लागू किया जाता है। यह एक ऐसी प्रणाली उत्पन्न करता है जो POSIX मानक के अनुरूप नहीं है। विवरण के लिए एनटीपी से संबंधित अनुभाग देखें।

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

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

नॉन-सिंक्रोनस नेटवर्क टाइम प्रोटोकॉल-आधारित वैरिएंट

आमतौर पर एक डेविड एल. मिल्स-शैली की यूनिक्स घड़ी को लीप सेकेंड हैंडलिंग के साथ कार्यान्वित किया जाता है जो यूनिक्स समय संख्या के परिवर्तन के साथ तुल्यकालिक नहीं है। समय संख्या शुरू में घट जाती है जहां एक छलांग लगनी चाहिए थी, और फिर यह छलांग लगाने के 1 सेकंड बाद सही समय पर पहुंच जाती है। यह कार्यान्वयन को आसान बनाता है, और मिल्स पेपर द्वारा इसका वर्णन किया गया है।[8] सकारात्मक लीप सेकंड में यही होता है:

Non-synchronous Mills-style Unix clock
across midnight into 1 January 1999 (positive leap second)
TAI (1 January 1999) UTC (31 December 1998 to 1 January 1999) State Unix clock
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 स्थिति द्वारा पता लगाया जा सकता है और ठीक किया जा सकता है।

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

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

लीप सेकंड गिनने वाला संस्करण

यूनिक्स टाइम कीपिंग का एक और, बहुत दुर्लभ, गैर-अनुरूप संस्करण में लीप सेकंड सहित सभी सेकंड के लिए मूल्य बढ़ाना शामिल है;[9] कुछ लिनक्स सिस्टम इस तरह से कॉन्फ़िगर किए गए हैं।[10] इस तरीके से रखे गए समय को कभी-कभी TAI के रूप में संदर्भित किया जाता है (हालांकि टाइम स्टैम्प को UTC में परिवर्तित किया जा सकता है यदि मान उस समय से मेल खाता है जब TAI और UTC के बीच का अंतर ज्ञात हो), जैसा कि UTC के विपरीत है (हालांकि सभी UTC समय मान नहीं हैं) सिस्टम में एक अनूठा संदर्भ जो लीप सेकेंड की गणना नहीं करता है)।[10]

क्योंकि TAI में कोई लीप सेकंड नहीं है, और प्रत्येक TAI दिन ठीक 86400 सेकंड लंबा है, यह एन्कोडिंग वास्तव में 1970-01-01T00:00:10 के बाद से बीत चुके सेकंड की शुद्ध रैखिक गणना है।{{nbsp}ताई। यह समय अंतराल अंकगणित को बहुत आसान बनाता है। इन प्रणालियों के समय मूल्यों में अस्पष्टता नहीं होती है जो POSIX सिस्टम या NTP-संचालित सिस्टम के सख्ती से अनुरूप होती है।

इन प्रणालियों में यूटीसी और छद्म-यूनिक्स-टाइम प्रतिनिधित्व के बीच सही ढंग से परिवर्तित करने के लिए लीप सेकेंड की तालिका से परामर्श करना आवश्यक है। यह उस तरीके से मिलता जुलता है जिसमें समय क्षेत्र तालिकाओं को नागरिक समय से और उससे परिवर्तित करने के लिए परामर्श किया जाना चाहिए; आईएएनए समय क्षेत्र डेटाबेस में लीप सेकंड की जानकारी शामिल है, और उसी स्रोत से उपलब्ध नमूना कोड उस जानकारी का उपयोग टीएआई-आधारित समय टिकटों और स्थानीय समय के बीच परिवर्तित करने के लिए करता है। यूटीसी के वर्तमान स्वरूप के 1972 के प्रारंभ से पहले रूपांतरण भी निश्चित समस्याओं में चला जाता है (नीचे अनुभाग #UTC आधार देखें)।

यह प्रणाली, इसके सतही समानता के बावजूद, यूनिक्स समय नहीं है। यह उन मानों के साथ समय को एनकोड करता है जो POSIX समय मानों से कई सेकंड भिन्न होते हैं। इस प्रणाली का एक संस्करण, जिसमें युग 1970-01-01T00:00:00 थाताई राठेर 1970-01-01T00:00:10TAI, को ISO C के C दिनांक और समय कार्यों में शामिल करने के लिए प्रस्तावित किया गया थाtime.h, लेकिन 2011 में केवल UTC भाग को ही स्वीकार किया गया था।[11] A {{code|tai_clock}हालाँकि, } C++ 20 में मौजूद है।

संख्या का प्रतिनिधित्व

संख्याओं का प्रतिनिधित्व करने में सक्षम किसी भी रूप में एक यूनिक्स समय संख्या का प्रतिनिधित्व किया जा सकता है। कुछ अनुप्रयोगों में संख्या को केवल दशमलव अंकों की एक स्ट्रिंग के रूप में पाठ्य रूप में दर्शाया जाता है, जिससे केवल तुच्छ अतिरिक्त समस्याएं उत्पन्न होती हैं। हालाँकि, यूनिक्स समय के कुछ द्विआधारी प्रतिनिधित्व विशेष रूप से महत्वपूर्ण हैं।

यूनिक्स time_t डेटा प्रकार जो समय में एक बिंदु का प्रतिनिधित्व करता है, कई प्लेटफार्मों पर, एक पूर्णांक (कंप्यूटर विज्ञान), पारंपरिक रूप से 32 हैअंश ्स (लेकिन नीचे देखें), यूनिक्स समय संख्या को सीधे एन्कोडिंग करता है जैसा कि पिछले अनुभाग में बताया गया है। एक हस्ताक्षरित 32-बिट मान 1970-01-01 युग के पहले और बाद के लगभग 68 वर्षों को कवर करता है। न्यूनतम प्रतिनिधित्व योग्य तिथि शुक्रवार 1901-12-13 है, और अधिकतम प्रतिनिधित्व योग्य तिथि मंगलवार 2038-01-19 है। 03:14:07 के बाद एक सेकंडUTC 2038-01-19 यह प्रतिनिधित्व अंकगणितीय अतिप्रवाह होगा जिसे वर्ष 2038 की समस्या के रूप में जाना जाता है।

कुछ नए ऑपरेटिंग सिस्टम में, time_t 64 बिट्स तक विस्तृत किया गया है। यह दोनों दिशाओं में लगभग 292 बिलियन वर्षों के प्रतिनिधित्व योग्य समय का विस्तार करता है, जो ब्रह्मांड की वर्तमान आयु से बीस गुना अधिक है।

मूल रूप से इस बात पर कुछ विवाद था कि क्या यूनिक्स time_t हस्ताक्षरित या अहस्ताक्षरित होना चाहिए। यदि अहस्ताक्षरित है, तो भविष्य में इसकी सीमा दोगुनी हो जाएगी, 32-बिट अतिप्रवाह (68 वर्ष तक) को स्थगित कर दिया जाएगा। हालांकि, यह युग से पहले के समय का प्रतिनिधित्व करने में असमर्थ होगा। के लिए सहमति है time_t हस्ताक्षर करने के लिए, और यह सामान्य अभ्यास है। QNX ऑपरेटिंग सिस्टम के संस्करण 6 के लिए सॉफ़्टवेयर डेवलपमेंट प्लेटफ़ॉर्म में एक अहस्ताक्षरित 32-बिट है time_t, हालांकि पुराने रिलीज़ में हस्ताक्षरित प्रकार का उपयोग किया गया था।

पॉज़िक्स और खुला समूह यूनिक्स विनिर्देशों में सी मानक पुस्तकालय शामिल है, जिसमें समय प्रकार और समय में परिभाषित कार्य शामिल हैं। एच |<time.h>हेडर फाइल। आईएसओ सी मानक बताता है कि time_t एक अंकगणितीय प्रकार होना चाहिए, लेकिन इसके लिए किसी विशिष्ट प्रकार या एन्कोडिंग को अनिवार्य नहीं करता है। पॉज़िक्स की आवश्यकता है time_t एक पूर्णांक प्रकार होने के लिए, लेकिन यह अनिवार्य नहीं है कि यह हस्ताक्षरित या अहस्ताक्षरित हो।

यूनिक्स में सीधे गैर-पूर्णांक यूनिक्स समय संख्याओं को बाइनरी अंशों के रूप में प्रस्तुत करने की कोई परंपरा नहीं है। इसके बजाय, उप-सेकंड परिशुद्धता वाले समय को समग्र डेटा प्रकारों का उपयोग करके दर्शाया जाता है जिसमें दो पूर्णांक होते हैं, पहला एक time_t (यूनिक्स समय का अभिन्न अंग), और दूसरा मिलियनवें (में) समय संख्या का आंशिक हिस्सा है struct timeval) या अरबवें (में struct timespec).[12][13] ये संरचनाएं एक दशमलव-आधारित फिक्स्ड-पॉइंट अंकगणित प्रदान करती हैं। फिक्स्ड-पॉइंट डेटा प्रारूप, जो कुछ अनुप्रयोगों के लिए उपयोगी है, और दूसरों के लिए परिवर्तित करने के लिए तुच्छ है।

यूटीसी आधार

लीप सेकेंड के साथ यूटीसी का वर्तमान स्वरूप केवल 1 जनवरी 1972 से परिभाषित किया गया है। इससे पहले, 1 जनवरी 1961 से यूटीसी का एक पुराना रूप था जिसमें न केवल सामयिक समय चरण थे, जो गैर-पूर्णांक द्वारा थे सेकंड की संख्या, लेकिन साथ ही UTC सेकंड SI सेकंड की तुलना में थोड़ा लंबा था, और समय-समय पर पृथ्वी के घूर्णन को लगातार अनुमानित करने के लिए बदल गया। 1961 से पहले कोई यूटीसी नहीं था, और 1958 से पहले कोई व्यापक परमाणु घड़ी नहीं थी; इन युगों में, परमाणु कालमान के बजाय GMT (पृथ्वी के घूर्णन पर सीधे आधारित) के कुछ सन्निकटन का उपयोग किया गया था।

यूटीसी के एन्कोडिंग के रूप में यूनिक्स समय की सटीक परिभाषा यूटीसी के वर्तमान स्वरूप पर लागू होने पर ही विवादास्पद है। यूटीसी के इस रूप की शुरुआत से पहले का यूनिक्स युग इस युग में इसके उपयोग को प्रभावित नहीं करता है: 1 जनवरी 1970 (यूनिक्स युग) से 1 जनवरी 1972 (यूटीसी की शुरुआत) तक के दिनों की संख्या प्रश्न में नहीं है, और दिनों की संख्या यूनिक्स समय के लिए महत्वपूर्ण है।

नीचे यूनिक्स समय मूल्यों का अर्थ +63072000 (यानी, 1 जनवरी 1972 से पहले) सटीक रूप से परिभाषित नहीं है। ऐसे यूनिक्स टाइम्स के आधार को यूटीसी का एक अनिर्दिष्ट सन्निकटन माना जाता है। उस युग के कंप्यूटरों में शायद ही कभी ऐसी घड़ियां होती थीं जो किसी भी मामले में अर्थपूर्ण सब-सेकंड टाइमस्टैम्प प्रदान करने के लिए पर्याप्त रूप से सटीक रूप से सेट की गई हों। यूनिक्स समय उप-सेकंड परिशुद्धता की आवश्यकता वाले अनुप्रयोगों में 1972 से पहले के समय का प्रतिनिधित्व करने का एक उपयुक्त तरीका नहीं है; ऐसे अनुप्रयोगों को कम से कम यह परिभाषित करना चाहिए कि वे किस प्रकार के UT या GMT का उपयोग करते हैं।

As of 2009, सिविल टाइम में लीप सेकेंड के इस्तेमाल को खत्म करने की संभावना पर विचार किया जा रहा है।[14] इस परिवर्तन को निष्पादित करने का एक संभावित साधन एक नए समय के पैमाने को परिभाषित करना है, जिसे अंतर्राष्ट्रीय समय कहा जाता है, जो शुरू में UTC से मेल खाता है लेकिन उसके बाद कोई लीप सेकंड नहीं है, इस प्रकार TAI से लगातार ऑफसेट पर रहता है। यदि ऐसा होता है, तो संभावना है कि यूटीसी के बजाय यूनिक्स समय को इस नए समय के पैमाने के संदर्भ में संभावित रूप से परिभाषित किया जाएगा। इस बारे में अनिश्चितता कि क्या यह घटित होगा, संभावित यूनिक्स समय को पहले से कम अनुमानित नहीं बनाता है: यदि यूटीसी के पास आगे कोई लीप सेकंड नहीं होता तो परिणाम वही होता।

इतिहास

यूनिक्स समय के शुरुआती संस्करणों में 60 हेटर्स की दर से 32-बिट पूर्णांक वृद्धि हुई थी, जो प्रारंभिक यूनिक्स सिस्टम के हार्डवेयर पर सिस्टम क्लॉक की दर थी। इस तरह संग्रहीत टाइमस्टैम्प केवल ढाई साल से कुछ अधिक की सीमा का प्रतिनिधित्व कर सकते हैं। अतिप्रवाह को रोकने के लिए यूनिक्स रिलीज के साथ युग की गणना की जा रही थी, 1 जनवरी 1971 और 1 जनवरी 1972 की मध्यरात्रि को यूनिक्स के प्रारंभिक विकास के दौरान युगों के रूप में उपयोग किया जा रहा था। यूनिक्स समय की प्रारंभिक परिभाषाओं में भी समय क्षेत्र का अभाव था।[15][16] 1 जनवरी 1970 00:00:00 यूटीसी के वर्तमान युग को यूनिक्स इंजीनियरों द्वारा मनमाने ढंग से चुना गया था क्योंकि इसे काम करने के लिए एक सुविधाजनक तिथि माना जाता था। शॉर्ट-टर्म ओवरफ्लो से बचने के लिए सटीकता को सेकंड में गिनने के लिए बदल दिया गया था।[1]

जब POSIX#POSIX.1|POSIX.1 लिखा गया था, तो यह सवाल उठा कि कैसे सटीक रूप से परिभाषित किया जाए time_t लीप सेकंड के सामने। POSIX समिति ने विचार किया कि क्या यूनिक्स समय, युग के बाद से सेकंड की एक रेखीय गणना के रूप में रहना चाहिए, सिविल समय के साथ रूपांतरण में जटिलता की कीमत पर या सिविल समय का प्रतिनिधित्व, लीप सेकंड के आसपास असंगतता की कीमत पर। युग की कंप्यूटर घड़ियां एक या दूसरे तरीके से मिसाल कायम करने के लिए पर्याप्त रूप से सटीक रूप से सेट नहीं थीं।

POSIX समिति को पुस्तकालय कार्यों में जटिलता के खिलाफ तर्कों से प्रभावित किया गया था, और यूटीसी समय के तत्वों के संदर्भ में सरल तरीके से यूनिक्स समय को दृढ़ता से परिभाषित किया। यह परिभाषा इतनी सरल थी कि इसमें ग्रेगोरियन कैलेंडर के पूरे लीप वर्ष नियम को भी शामिल नहीं किया गया था और 2100 को एक लीप वर्ष बना दिया जाएगा।

POSIX.1 के 2001 के संस्करण ने यूनिक्स समय की परिभाषा में दोषपूर्ण लीप वर्ष नियम को सुधारा, लेकिन यूनिक्स समय की आवश्यक परिभाषा को एक रैखिक समय पैमाने के बजाय UTC के एन्कोडिंग के रूप में बनाए रखा। 1990 के दशक के मध्य से, कंप्यूटर घड़ियों को नियमित रूप से इसके लिए पर्याप्त सटीकता के साथ सेट किया गया है, और वे आमतौर पर यूनिक्स समय की यूटीसी-आधारित परिभाषा का उपयोग करके सेट की गई हैं। इसके परिणामस्वरूप यूनिक्स कार्यान्वयन में और नेटवर्क टाइम प्रोटोकॉल में, जब भी लीप सेकेंड होते हैं, यूनिक्स समय संख्या में कदमों को निष्पादित करने में काफी जटिलता होती है।

उपयोग

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

सी मानक पुस्तकालय सभी दिनांक और समय कार्यों के लिए यूनिक्स समय का उपयोग करता है, और यूनिक्स समय को कभी-कभी टाइम_टी के रूप में संदर्भित किया जाता है, सी (प्रोग्रामिंग भाषा) और सी ++ में टाइमस्टैम्प के लिए उपयोग किए जाने वाले डेटा प्रकार का नाम। C के यूनिक्स टाइम फ़ंक्शंस को POSIX विनिर्देशन में सिस्टम टाइम API के रूप में परिभाषित किया गया है।[17] सी मानक पुस्तकालय का उपयोग सभी आधुनिक डेस्कटॉप ऑपरेटिंग सिस्टमों में बड़े पैमाने पर किया जाता है, जिसमें माइक्रोसॉफ़्ट विंडोज़ और यूनिक्स जैसे सिस्टम जैसे मैकोज़ और लिनक्स शामिल हैं, जहां यह एक मानक प्रोग्रामिंग इंटरफ़ेस है।[18][19][20] आईओएस एक स्विफ्ट एपीआई प्रदान करता है जो 1 जनवरी 2001 के युग का उपयोग करने के लिए डिफ़ॉल्ट है लेकिन यूनिक्स टाइमस्टैम्प के साथ भी इसका उपयोग किया जा सकता है।[21] एंड्रॉइड (ऑपरेटिंग सिस्टम) अपने सिस्टम टाइम एपीआई के लिए टाइमज़ोन के साथ यूनिक्स समय का उपयोग करता है।[22] विंडोज आंतरिक रूप से समय संग्रहीत करने के लिए यूनिक्स समय का उपयोग नहीं करता है, लेकिन इसका उपयोग सिस्टम एपीआई में करता है, जो सी ++ में प्रदान किया जाता है और सी मानक पुस्तकालय विनिर्देश को लागू करता है।[18]विंडोज़ निष्पादनयोग्य के लिए पीई प्रारूप में यूनिक्स समय का उपयोग किया जाता है।[23] यूनिक्स समय आमतौर पर प्रमुख प्रोग्रामिंग भाषाओं में उपलब्ध है और व्यापक रूप से डेस्कटॉप, मोबाइल और वेब एप्लिकेशन प्रोग्रामिंग में उपयोग किया जाता है। जावा (प्रोग्रामिंग भाषा) एक इंस्टेंट ऑब्जेक्ट प्रदान करता है जो सेकंड और नैनोसेकंड दोनों में एक यूनिक्स टाइमस्टैम्प रखता है।[24] पायथन (प्रोग्रामिंग भाषा) एक समय पुस्तकालय प्रदान करता है जो यूनिक्स समय का उपयोग करता है।[25] जावास्क्रिप्ट एक दिनांक पुस्तकालय प्रदान करता है जो यूनिक्स युग के बाद से मिलीसेकंड में टाइमस्टैम्प प्रदान करता है और संग्रहीत करता है और सभी आधुनिक डेस्कटॉप और मोबाइल वेब ब्राउज़र्स के साथ-साथ Node.js जैसे जावास्क्रिप्ट सर्वर वातावरण में लागू किया जाता है।[26] यूनिक्स-आधारित ऑपरेटिंग सिस्टम के साथ उपयोग के लिए डिज़ाइन किए गए फाइलसिस्टम यूनिक्स समय का उपयोग करते हैं। APFS, सभी Apple उपकरणों में डिफ़ॉल्ट रूप से उपयोग की जाने वाली फ़ाइल प्रणाली, और ext4, जो Linux और Android उपकरणों पर व्यापक रूप से उपयोग की जाती है, दोनों फ़ाइल टाइमस्टैम्प के लिए नैनोसेकंड में यूनिक्स समय का उपयोग करते हैं।[27][28] कई संग्रह फ़ाइल प्रारूप यूनिक्स समय में RAR (फ़ाइल स्वरूप) और टार (कंप्यूटिंग) सहित टाइमस्टैम्प स्टोर कर सकते हैं।[29][30] यूनिक्स समय का उपयोग आमतौर पर MySQL और PostgreSQL सहित डेटाबेस में टाइमस्टैम्प को स्टोर करने के लिए भी किया जाता है।[31][32]


सीमाएं

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

प्रतिनिधित्व योग्य समय की सीमा

32-बिट यूनिक्स समय अतिप्रवाह जो 2038 में घटित होगा

डिज़ाइन द्वारा यूनिक्स समय को भंडारण के लिए एक विशिष्ट आकार की आवश्यकता नहीं होती है, लेकिन यूनिक्स समय के अधिकांश सामान्य कार्यान्वयन अंतर्निहित कंप्यूटर के वर्ड (कंप्यूटर आर्किटेक्चर) के साथ एक हस्ताक्षरित पूर्णांक का उपयोग करते हैं। चूंकि अधिकांश आधुनिक कंप्यूटर 32-बिट या 64-बिट हैं, और बड़ी संख्या में प्रोग्राम अभी भी 32-बिट संगतता मोड में लिखे गए हैं, इसका मतलब यह है कि यूनिक्स समय का उपयोग करने वाले कई प्रोग्राम हस्ताक्षरित 32-बिट पूर्णांक फ़ील्ड का उपयोग कर रहे हैं। हस्ताक्षरित 32 बिट पूर्णांक का अधिकतम मान 2 है31-1, और न्यूनतम मान -(231), 13 दिसंबर 1901 से पहले (20:45:52 UTC पर) या 19 जनवरी 2038 के बाद (03:14:07 UTC पर) तिथियों का प्रतिनिधित्व करना असंभव बना देता है। शुरुआती कटऑफ का उन डेटाबेस पर प्रभाव पड़ सकता है जो ऐतिहासिक जानकारी संग्रहीत कर रहे हैं; कुछ डेटाबेस में जहां टाइमस्टैम्प के लिए 32-बिट यूनिक्स समय का उपयोग किया जाता है, 1901 से पहले की तारीखों का प्रतिनिधित्व करने के लिए समय को फ़ील्ड के एक अलग रूप में संग्रहीत करना आवश्यक हो सकता है, जैसे कि एक स्ट्रिंग। देर से कटऑफ को वर्ष 2038 की समस्या के रूप में जाना जाता है और जैसे-जैसे तिथि नज़दीक आती है, समस्याएँ पैदा करने की क्षमता होती है, क्योंकि 2038 कटऑफ़ से आगे की तारीखें 1901 में प्रतिनिधित्व योग्य सीमा की शुरुआत में वापस आ जाएँगी।[33]: 60 

तिथि सीमा कटऑफ यूनिक्स समय के 64-बिट प्रतिनिधित्व के साथ कोई समस्या नहीं है, क्योंकि हस्ताक्षरित 64-बिट पूर्णांक में संग्रहीत यूनिक्स समय के साथ प्रतिनिधित्व योग्य तिथियों की प्रभावी सीमा 584 बिलियन वर्ष से अधिक है।[33]: 60-61 [34]


विकल्प

यूनिक्स समय समय के लिए एकमात्र मानक नहीं है जो एक युग से दूर गिना जाता है। माइक्रोसॉफ्ट विंडोज़ पर, FILETIME 1 जनवरी 1601 को 0:00 GMT के बाद से बीत चुके 100-नैनोसेकंड अंतराल की गिनती के रूप में स्टोर समय टाइप करें।[35] विंडोज एपोच टाइम का उपयोग फाइलों के लिए टाइम स्टैम्प स्टोर करने के लिए किया जाता है[36] और सक्रिय निर्देशिका समय सेवा जैसे प्रोटोकॉल में[37] और सर्वर संदेश ब्लॉक

कंप्यूटर के बीच समय का समन्वय करने के लिए उपयोग किया जाने वाला नेटवर्क टाइम प्रोटोकॉल 1 जनवरी 1900 के युग का उपयोग करता है, जिसे सेकंड के लिए एक अहस्ताक्षरित 32-बिट पूर्णांक में गिना जाता है और आंशिक सेकंड के लिए एक अन्य अहस्ताक्षरित 32-बिट पूर्णांक, जो रोल ओवर करता है[lower-alpha 1] प्रत्येक 232 सेकंड (लगभग हर 136 साल में एक बार)।[38] कई एप्लिकेशन और प्रोग्रामिंग लैंग्वेज एक स्पष्ट टाइमज़ोन के साथ समय को स्टोर करने के तरीके प्रदान करते हैं।[39] ऐसे कई समय प्रारूप मानक भी हैं जो मानव और कंप्यूटर दोनों के लिए पठनीय हैं, जैसे ISO 8601

== यूनिक्स समय == में उल्लेखनीय घटनाएं

यूनिक्स उत्साही लोगों के पास यूनिक्स समय संख्या के महत्वपूर्ण मूल्यों का जश्न मनाने के लिए टाइम_टी पार्टियों (उच्चारण समय चाय पार्टी) आयोजित करने का इतिहास है।[40][41] ये नए साल के जश्न के सीधे अनुरूप हैं जो कई कैलेंडर में साल के बदलाव पर होते हैं। जैसे-जैसे यूनिक्स समय का उपयोग फैल गया है, वैसे-वैसे इसके मील के पत्थर को मनाने का चलन भी बढ़ गया है। देखने की यूनिक्स परिपाटी के बाद आम तौर पर यह समय के मान हैं जो दशमलव में गोल संख्याएं हैं जिन्हें मनाया जाता है time_t दशमलव में मान। कुछ समूहों में राउंड बाइनरी अंक प्रणाली संख्याएं भी मनाई जाती हैं, जैसे +230 जो शनिवार, 10 जनवरी 2004 को 13:37:04 यूटीसी पर हुआ।

जिन घटनाओं का ये जश्न मनाते हैं उन्हें आमतौर पर यूनिक्स युग के बाद से एन सेकंड के रूप में वर्णित किया जाता है, लेकिन यह गलत है; जैसा कि ऊपर चर्चा की गई है, यूनिक्स समय में लीप सेकेंड की हैंडलिंग के कारण यूनिक्स युग के बाद से सेकंड की संख्या यूनिक्स समय संख्या से थोड़ी अधिक है जो युग के बाद के समय के लिए है।

  • बुधवार, 17 अक्टूबर 1973 को 18:36:57 यूटीसी पर, आईएसओ 8601 प्रारूप में तारीख की पहली उपस्थिति[lower-alpha 2] (1973-10-17) यूनिक्स समय के अंकों के भीतर (119731017) हुआ।
  • रविवार, 9 सितंबर 2001 को 01:46:40 यूटीसी पर, यूनिक्स बिलेनियम (यूनिक्स टाइम नंबर) 1000000000) मनाया गया।[42] बिलेनियम नाम अरब (शब्द) और सहस्राब्दी का सूटकेस है। रेफरी>"UNIX एक अरब की परिपक्व आयु के करीब पहुंच गया है". Electromagnetic.net. Archived from the original on 13 April 2013. Retrieved 6 December 2012.</ref>[43] कुछ प्रोग्राम जो टेक्स्ट प्रतिनिधित्व का उपयोग करके टाइमस्टैम्प को संग्रहीत करते हैं, उन्हें सॉर्टिंग त्रुटियों का सामना करना पड़ा, जैसे टेक्स्ट सॉर्ट में, 1 अंक से शुरू होने वाले टर्नओवर के बाद 9 अंक से शुरू होने वाले समय से पहले गलत तरीके से सॉर्ट किया गया। प्रभावित कार्यक्रमों में लोकप्रिय यूज़नेट रीडर KNode और ईमेल क्लाइंट KMail शामिल हैं, जो KDE डेस्कटॉप वातावरण का हिस्सा हैं। इस तरह के कीड़े आम तौर पर प्रकृति में कॉस्मेटिक होते हैं और एक बार समस्या स्पष्ट हो जाने पर इसे तुरंत ठीक कर दिया जाता है। समस्या ने WordPerfect के Linux संस्करणों के साथ प्रदान किए गए कई फिल्ट्रिक्स दस्तावेज़-प्रारूप फ़िल्टर को भी प्रभावित किया; इस समस्या को हल करने के लिए उपयोगकर्ता समुदाय द्वारा एक पैच बनाया गया था, क्योंकि Corel अब प्रोग्राम के उस संस्करण को बेचा या समर्थित नहीं करता था।[44]
  • शुक्रवार, 13 फरवरी 2009 को 23:31:30 यूटीसी पर, यूनिक्स समय का दशमलव प्रतिनिधित्व पहुंचा 1234567890 सेकंड।[45] गूगल ने डूडल बनाकर इसे सेलिब्रेट किया।[46] जश्न मनाने के लिए, विभिन्न तकनीकी उपसंस्कृतियों के बीच, दुनिया भर में पार्टियों और अन्य समारोहों का आयोजन किया गया {{val|1234567890}वें सेकंड।[40][47]


लोकप्रिय संस्कृति में

वर्नर विंग का उपन्यास आकाश में एक गहरापन भविष्य में हजारों वर्षों की एक स्पेसफेयरिंग व्यापारिक सभ्यता का वर्णन करता है जो अभी भी यूनिक्स युग का उपयोग करती है। परिपक्व कंप्यूटर सिस्टम में प्रयोग करने योग्य कोड को खोजने और बनाए रखने के लिए जिम्मेदार प्रोग्रामर-पुरातत्वविद सॉफ्टवेयर पुरातत्वविद पहले मानते हैं कि युग उस समय को संदर्भित करता है जब अपोलो 11, लेकिन तब पता चलता है कि यह मानव जाति के पहले कंप्यूटर ऑपरेटिंग सिस्टम में से एक का 0-सेकंड है।[48]


यह भी देखें

  • युग (कंप्यूटिंग)
  • सिस्टम समय

टिप्पणियाँ

  1. Because NTP is designed to coordinate time between computers which are expected to be close to each other in time, the time can be safely rolled over without creating ambiguity.
  2. cited retroactively since ISO 8601 was published in 1988.


संदर्भ

  1. 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.
  2. "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. 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.
  4. Matthew, Neil; Stones, Richard (2008). "The Linux Environment". Beginning Linux Programming. Indianapolis, Indiana, US: Wiley. p. 148. ISBN 978-0-470-14762-7.
  5. "शॉर्टकट में प्रारूप तिथि का उपयोग करके टाइमस्टैम्प को संभालना". Apple Inc. (in English). Archived from the original on 19 June 2019. Retrieved 19 June 2019.
  6. "CSV निर्यातित रिपोर्ट में RAW दिनांक स्वरूप". International Business Machines Corporation (IBM) (in English). 22 April 2016. Archived from the original on 19 June 2019. Retrieved 19 June 2019.
  7. "टाइमस्टैम्प द्वारा (Azure स्ट्रीम एनालिटिक्स)". Microsoft Corporation (in English). Archived from the original on 19 June 2019. Retrieved 19 June 2019.
  8. Mills, David L. (12 May 2012). "एनटीपी टाइमस्केल और लीप सेकेंड". eecis.udel.edu. Archived from the original on 15 May 2012. Retrieved 21 August 2017.
  9. "प्रेसिजन टाइमकीपिंग". 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.
  10. 10.0 10.1 "समय तराजू". Network Time Protocol Wiki. 24 July 2019. Archived from the original on 12 January 2020. Retrieved 12 January 2020.
  11. Markus Kuhn. "आईएसओ सी के लिए आधुनिक एपीआई". www.cl.cam.ac.uk. Archived from the original on 26 September 2020. Retrieved 31 August 2020.
  12. "timepec". NetBSD Manual Pages. 12 April 2011. Archived from the original on 10 August 2019. Retrieved 5 July 2019.
  13. "समय। एच (0 पी)". Linux manual page. Archived from the original on 27 June 2019. Retrieved 5 July 2019.
  14. 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.
  15. यूनिक्स प्रोग्रामर का मैनुअल (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.
  16. यूनिक्स प्रोग्रामर का मैनुअल (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.
  17. "The Open Group Technical Standard Base Specifications Issue 7 (2018 edition)". IEEE and The Open Group. Retrieved 1 May 2023.
  18. 18.0 18.1 "time, _time32, _time64". learn.microsoft.net. Microsoft Corporation. Retrieved 1 May 2023.
  19. "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.
  20. "Mac OS X Manual Page for localtime(3)". Apple Documentation Archive. Apple Inc. Retrieved 1 May 2023.
  21. "NSDate". Apple Developer Documentation. Apple Inc. Retrieved 1 May 2023.
  22. "समय अवलोकन". Android Open Source Project. Google LLC. Retrieved 1 May 2023.
  23. "PE Format - Win32 apps". learn.microsoft.com (in English). Microsoft Corporation. Retrieved 1 May 2023.
  24. "Instant (Java Platform SE 8 )". docs.oracle.com. Oracle. Retrieved 1 May 2023.
  25. "time — Time access and conversions", Python documentation, archived from the original on 22 July 2022, retrieved 25 July 2022
  26. "Date - JavaScript | MDN". developer.mozilla.org. Mozilla. Retrieved 1 May 2023.
  27. 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
  28. "डाटा संरचनाओं और एल्गोरिदम". The Linux Kernel documentation. Linux Kernel Organization, Inc. Retrieved 1 May 2023.
  29. "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
  30. "टेप संग्रह (टार) फ़ाइल स्वरूप परिवार". www.loc.gov. Library of Congress. 7 January 2021. Retrieved 1 May 2023.
  31. "Date and Time Functions", MySQL 8.0 Reference Manual, retrieved 19 October 2022
  32. "8.5. Date/Time Types". PostgreSQL Documentation (in English). The PostgreSQL Global Development Group. 9 February 2023. Retrieved 1 May 2023.
  33. 33.0 33.1 33.2 Rochkind, Mark (2004). उन्नत यूनिक्स प्रोग्रामिंग (2nd ed.). Addison-Wesley. pp. 56–63. ISBN 978-0-13-141154-8.
  34. IDRBT Working Paper No. 9 Y2K38 – Ashutosh Saxena and Sanjay Rawat
  35. "FILETIME (minwinbase.h) - Win32 apps". Microsoft Learn. Microsoft. Retrieved 9 March 2023.
  36. "File Times - Win32 apps". Microsoft Learn. Microsoft. Retrieved 9 March 2023.
  37. "How to convert date/time attributes in Active Directory to standard time format". Microsoft Learn. Microsoft. Retrieved 20 October 2022.
  38. 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.
  39. "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.
  40. 40.0 40.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.
  41. "Slashdot | date +%s Turning 1111111111". 17 March 2005. Archived from the original on 12 January 2020. Retrieved 12 January 2020.[unreliable source?]
  42. {{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}
  43. 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.
  44. "तकनीकी समस्याएँ।". linuxmafia.com. Archived from the original on 11 October 2012. Retrieved 21 August 2017.
  45. nixCraft. "Humor: On Feb, Friday 13, 2009 Unix time Will Be 1234567890". Cyberciti.biz. Retrieved 6 December 2012.
  46. "Google 1234567890 Logo". Google Inc. Archived from the original on 11 January 2013. Retrieved 28 January 2013.
  47. 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.
  48. 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.


बाहरी संबंध