2010-01-20 13 views
7

HI मुझे यह जानना है कि दो अलग-अलग पैकेजों में दो दिनांक कक्षाएं क्यों हैं java.util.Date और java.sql.Date में से एक? क्या दो दिनांक कक्षाओं का उपयोग करना है?java.util.Date और java.sql.Date में दो दिनांक कक्षाएं क्यों हैं?

+4

सोमटाइम्स मुझे प्रोग्रामर जीवन को कठिन बनाने के लिए लगता है – stacker

+0

और फिर वहां जोडा है ... –

+0

लेकिन आप 'java.util.Calendar' पर छोड़ दिया! विडंबना यह है कि इनमें से एक भी (जेडीके कक्षाएं) नहीं है जिसे आपको वास्तव में उपयोग करना चाहिए (जब तक मजबूर नहीं किया जाता)। जोडा-टाइम एकमात्र दिनांक/समय एपीआई सही है। संपादन के लिए –

उत्तर

11

java.util.Date जावा का दिनांक डेटा प्रकार है।

java.sql.Date एसक्यूएल तिथियों के लिए एक जेडीबीसी रैपर है।

दोनों आंतरिक रूप से आंतरिक रूप से अलग-अलग प्रतिनिधित्व करते हैं।

नेट एक ही अवधारणाओं (लेकिन एक बेहतर नामकरण परंपरा मेरी राय में दो अलग करने के लिए) System.DataTime साथ और System.Data.SqlTypes.SqlDateTime

+0

+1 –

3

java.sql.Date

एक millisecond मूल्य चारों ओर एक पतली आवरण कि जेडीबीसी को इसे SQL दिनांक मान के रूप में पहचानने की अनुमति देता है। एक मिलीसेकंड मान 1 जनवरी 1 9 70 00: 00: 00.000 जीएमटी के बाद से मिली मिलीसेकंड की संख्या का प्रतिनिधित्व करता है।

3

java.sql.Datejava.util.Date का उप-वर्ग (एक विस्तार) है।
java.sql.Date में क्या बदल गया: yyyy-mm-dd

  • एक स्थिर valueOf(String) तरीकों घंटे, मिनट और के लिए ऊपर प्रतिनिधित्व
  • getters और सेटर के साथ एक स्ट्रिंग से एक तिथि बनाने के लिए:

    1. toString() एक अलग स्ट्रिंग प्रतिनिधित्व उत्पन्न करता है सेकंड

    java.sql.Date कक्षा का उपयोग जेडीबीसी के साथ किया जाता है और इसका इरादा नहीं था एक समय हिस्सा, यानी, घंटे, मिनट, सेकंड, और मिलीसेकंड शून्य होना चाहिए ... लेकिन यह कक्षा द्वारा लागू नहीं किया गया है।

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