मुझे लगता है कि कुछ सॉफ्टवेयर जो मैं आज लिख रहा हूं, का उपयोग 30 वर्षों में किया जाएगा। जनवरी 1 00:002038 के लिए तैयार करने के लिए हमें क्या करना चाहिए?
- गुरु: लेकिन मैं यह भी है कि यह का एक बहुत बाद में 1970.
#include <stdio.h> #include <time.h> #include <limits.h> void print(time_t rt) { struct tm * t = gmtime(&rt); puts(asctime(t)); } int main() { print(0); print(time(0)); print(LONG_MAX); print(LONG_MAX+1); }
निष्पादन परिणाम सेकंड की संख्या के रूप में समय उजागर की यूनिक्स परंपरा पर आधारित है पता है : 00 1970
- शनि अगस्त 30 18:37:08 2008
- मंगल जनवरी 19 03:14:07
- शुक्र दिसंबर 13 20:45:52
कार्यों ctime(), gmtime(), और स्थानीयसमय() सब (युग के बाद से सेकंड में समय का प्रतिनिधित्व करने के लिए एक समय मूल्य एक तर्क के रूप ले 00:00:00 यूटीसी जनवरी 1, 1 9 70; समय देखें (3))।
मुझे आश्चर्य है कि अगर वहाँ कुछ भी सक्रिय एक प्रोग्रामर के रूप में इस क्षेत्र में क्या करना है, या हम पर विश्वास करना है कि सभी सॉफ्टवेयर सिस्टम (उर्फ आपरेटिंग सिस्टम) कुछ कैसे जादुई भविष्य में अपग्रेड कर दिया जाएगा रहे हैं?
अद्यतन यह प्रतीत होता है कि वास्तव में 64-बिट सिस्टम इस से सुरक्षित हैं:
import java.util.*;
class TimeTest {
public static void main(String[] args) {
print(0);
print(System.currentTimeMillis());
print(Long.MAX_VALUE);
print(Long.MAX_VALUE + 1);
}
static void print(long l) {
System.out.println(new Date(l));
}
}
- बुध दिसंबर 31 16:00:00 पीएसटी 1969
- शनि अगस्त 30 00:02: 40 PDT 2008
- शनि अगस्त 16 23:12:55 पीएसटी
- सूर्य दिसंबर 02 08:47:04 पीएसटी 29,226,905 5
लेकिन वर्ष 2 9 2278 99 4 के बारे में क्या?
यदि आप उस वर्ष तक किसी दुर्घटना के लिए ज़िम्मेदार होने के लिए उपस्थित थे, तो आप खुश होंगे, है ना? –
वर्ष 2 9 2278994 के बारे में चिंता न करें। अधिकांश सिस्टम 2147483647 पर असफल होते हैं। – Schwern
मुझे लगता है कि आपने हमें विश्वास दिलाया है - हमें 128 बिट तुरंत स्थानांतरित करने की आवश्यकता है! – new123456