Unix Timeआमतौर पर यूटीसी में 1970 के पहले क्षण से पूरे सेकंड के एक 32-बिट संख्या, epoch जा रहा है 1 January 1970 00:00:00 UTC
है। इसका अर्थ है कि युग के दोनों तरफ लगभग आधा हिस्सा लगभग 136 वर्ष है। नकारात्मक संख्याएं पहले हैं, शून्य युग है, और सकारात्मक बाद में हैं। एक हस्ताक्षरित 32-बिट पूर्णांक के लिए, मान 1901-12-13
से 2038-01-19 03:14:07 UTC
तक हैं।
यह पत्थर में नहीं लिखा गया है। खैर, यह लिखा है, लेकिन विभिन्न पत्थरों के समूह में। बूढ़े लोग 32-बिट कहते हैं, नए 64-बिट। कुछ चश्मा यह है कि अर्थ "कार्यान्वयन-परिभाषित" है। कुछ यूनिक्स सिस्टम युग के पिछले भविष्य में विस्तारित करने के लिए एक हस्ताक्षरित int का उपयोग करते हैं, लेकिन सामान्य अभ्यास एक हस्ताक्षरित संख्या रहा है। कुछ पूर्णांक की बजाय एक फ्लोट का उपयोग करते हैं। विवरण के लिए, Unix Time, और this Question पर विकिपीडिया लेख देखें।
तो, मूल रूप से, आपके प्रश्न का कोई मतलब नहीं है। आपको अपनी प्रोग्रामिंग भाषा (मानक सी, अन्य सी, जावा, आदि), पर्यावरण (POSIX-compliant), विशेष सॉफ्टवेयर लाइब्रेरी, या डेटाबेस स्टोर, या ऐप के संदर्भ को जानना होगा।
बचें गणना-से-युग
विशिष्टता की इस कमी में जोड़े तथ्य यह है कि a couple dozen other epochs विभिन्न सॉफ्टवेयर सिस्टम, कुछ अत्यंत लोकप्रिय और आम द्वारा इस्तेमाल किया गया है। उदाहरणों में 1 जनवरी, 1601 एनटीएफएस फाइल सिस्टम & कोबोल, 1 जनवरी, 1 9 80 को विभिन्न एफएटी फाइल सिस्टम, 1 जनवरी, 2001 को ऐप्पल कोको के लिए, और 0 जनवरी, 1 9 00 को एक्सेल & कमल 1-2-3 स्प्रेडशीट्स के लिए शामिल है।
आगे यह तथ्य जोड़ें कि गिनती के विभिन्न ग्रैन्युलरिटी का उपयोग किया गया है। पूरे सेकंड के अलावा, कुछ सिस्टम मिलीसेकंड, माइक्रोसेकंड, या नैनोसेकंड का उपयोग करते हैं।
मैं डेट-टाइम-युग के रूप में दिनांक-समय पर ट्रैकिंग के खिलाफ अनुशंसा करता हूं। इसके बजाय विशिष्ट डेटा प्रकारों का उपयोग करें जहां आपकी प्रोग्रामिंग भाषा या डेटाबेस में उपलब्ध है। जब उपलब्ध नहीं होता है, या डेटा का आदान-प्रदान करते समय, ISO 8601 मानक का पालन करें जो विभिन्न प्रकार के दिनांक-समय मानों के लिए समझदार स्ट्रिंग प्रारूपों को परिभाषित करता है।
- दिनांक
- एक यूटीसी से ऑफसेट के साथ एक तिथि-समय (ऑफसेट पर टिप्पणी गद्दी शून्य)
2015-07-29T14:59:08Z
(जेड यूटीसी के लिए "ज़ुलु" है)
2001-02-13T12:34:56.123+05:30
- वीक (साथ या सप्ताह के दिन बिना)
- क्रमसंख्या तिथि (दिन के अनुसार वर्ष)
- अंतराल
"2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
- अवधि (
PnYnMnDTnHnMnS
के प्रारूप)
P3Y6M4DT12H30M5S
= "तीन साल, छह महीने, चार दिन, बारह घंटे, तीस मिनट, और पाँच सेकंड"
इन विषयों पर कई और प्रश्नों और उत्तरों के लिए StackOverflow.com खोजें।
यूनिक्स 'time_t' एक हस्ताक्षरित 32-बिट int है, इसलिए यह 1 9 01 में वापस जा सकता है जैसा आपने नोट किया है। आपको अपने ओएस की जांच करनी चाहिए, कई ने 'टाइम_टी' तक 64 बिट्स का विस्तार किया है, जो आपको कुछ सौ अरब साल का रिवेव देता है। –