2011-03-30 12 views
16

मान्य मूल्यों की सीमा क्या है जिसे मैं java.util.Date में संग्रहीत कर सकता हूं? API इस बारे में ज्यादा कुछ नहीं कहता है।java.util.Date के लिए मान्य सीमा?

या क्या यह केवल उन तिथियों का समर्थन करता है जिन्हें यूनिक्स टाइमस्टैम्प (1.1.1 9 70 के बाद की तारीखें) के रूप में व्यक्त किया जा सकता है? यदि हां, तो क्या शायद जेडीके में एक (धारावाहिक) कक्षा हो सकती है जो इससे पहले की तारीखों का भी समर्थन करती है?

क्या मैं के लिए देख रहा हूँ एक वर्ग/db4o

उत्तर

22

यह Long.MIN_VALUE और Long.MAX_VALUE के बीच तारीखों का समर्थन करता है:

class DateTest { 
    public static void main(String[] args) { 
     DateFormat df = new SimpleDateFormat("d MMM yyyy G, HH:mm:ss.S Z"); 

     System.out.println(df.format(new Date(Long.MIN_VALUE))); 
     System.out.println(df.format(new Date(0))); 
     System.out.println(df.format(new Date(Long.MAX_VALUE))); 
    } 
} 

आउटपुट

2 Dec 292269055 BC, 10:47:04.192 -0600 
31 Dec 1969 AD, 18:00:00.0 -0600 
17 Aug 292278994 AD, 01:12:55.807 -0600 

(ध्यान दें: बार से ऊपर हैं केंद्रीय समय)

+1

यह बिल्कुल तोड़ नहीं रहा है, आप सिर्फ युग क्षेत्र को प्रिंट नहीं कर रहे हैं ... –

+0

@ माइकल बोर्गवर्ड - हालांकि 'दिनांक' के पास एक युग क्षेत्र नहीं है (कम से कम एक सुलभ नहीं) - अगर मैं लपेटूं यह 'कैलेंडर' में, इसे मुद्रित किया जा सकता है। –

+0

अनुमान लगाएं कि date.toString() क्या करता है (यह अनुमान लगाने के बाद कि System.println (ऑब्जेक्ट) क्या करता है)। –

1

तिथियां 1970/01/01 से पहले मान हो सकते हैं, बस का उपयोग नकारात्मक लंबे :-)

12

java.util.Date दुकानों में तारीखों में एक जन्मदिन मैदान के लिए प्रकार है एक संदर्भ के रूप में 1 9-01-01-01 का उपयोग कर long मिलीसेकंड के रूप में। चूंकि long एक हस्ताक्षरित 64-बिट पूर्णांक है, तो आप java.util.Date की अपेक्षा कर सकते हैं कि संदर्भ दिनांक से पहले और उसके बाद 2 9 0 मिलियन वर्ष पहले - यह है कि यदि आपको सटीक प्रतिनिधित्व और कैलेंडर सिस्टम स्विच की परवाह नहीं है।

जब तक आप एक डायनासोर के लिए एक जन्मदिन की पार्टी की योजना बना रहे, मैं यह कहना चाहते हैं कि java.util.Date शायद उद्देश्य के लिए ठीक है ...

+0

यह सहायक है, धन्यवाद। मुझे नहीं पता था कि ऋणात्मक मूल्य टाइमस्टैम्प के लिए मान्य थे। – Dexter

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