2012-08-14 10 views
6

मैं कुछ कोड को मजबूत करने की कोशिश कर रहा हूं जो बहुत गन्दा है लेकिन मैं यह सुनिश्चित करना चाहता हूं कि मैं चीजों को तोड़ नहीं दूंगा। कुछ स्थानों पर मुझे Calendar.getInstance().getTime() के रूप में बनाई गई तारीख दिखाई देती है और अन्य में यह केवल new Date() है। अगर मैं उन्हें new Date() में परिवर्तित कर दूं तो क्या यह चीजों को तोड़ देगा या क्या कोई कारण है कि मैं दूसरे का उपयोग करना चाहूंगा?कैलेंडर है .getInstance()। GetTime() मुझे कभी भी नई तारीख() से अलग जवाब देने जा रहा है?

उत्तर

10

सिद्धांत रूप में, नहीं, क्योंकि दोनों java.util.Date और java.util.Calendar.getInstance() अंत में System.currentTimeMillis का उपयोग करें() वर्तमान समय लौटने के लिए।

कैलेंडर कार्यान्वयन, हालांकि लोकेल की तरह अन्य चीजों को ध्यान में रखता है, या यदि लोकेल जेपी या TH है ... तो आप दोनों वर्गों के स्रोत कोड में देख सकते हैं।

-2

मुझे लगता है कि दोनों एक ही वापस आ जाएगी:

Calendar.getInstance().getTime(): रिटर्न एक दिनांक वस्तु इस कैलेंडर के समय मूल्य का प्रतिनिधित्व (मिलीसेकंड युग (1 जनवरी, 1970 से ऑफसेट 00: 00:। 00.000 जीएमटी (ग्रेगोरियन)) ") ।

new Date(): आंतरिक रूप से, System.currentTimeMillis() का उपयोग करता है, एक दिनांक वस्तु का आवंटन और यह initializes इतना है कि यह समय, जिस पर यह आवंटित किया गया था, निकटतम मिलीसेकंड को मापा जाता प्रतिनिधित्व अंतर, मिलीसेकंड में मापा वर्तमान के बीच। समय और आधी रात, 1 जनवरी, 1 9 70 यूटीसी

मैं की तरह जांच की गई:

public static void main(String[] args) { 
    Date date = new Date(); 
    Date date1 = Calendar.getInstance().getTime(); 

    System.out.println(date +" = " + date1); 

} 

आउटपुट:

Wed Aug 15 02:45:15 IST 2012 = Wed Aug 15 02:45:15 IST 2012 
+1

एक बार जांचना यह सुनिश्चित करने के लिए कुछ भी नहीं करता है कि कुछ ऐसी स्थिति नहीं है जहां दोनों अलग हैं। आधिकारिक जानकारी की आवश्यकता है। – ToolmakerSteve

+0

कृपया फिलीपे फेडाल्टो के जवाब को देखें, उसने मुझे बेहतर समझाया है। –

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