2,5 जावा समुदाय की क्या जरूरत प्रस्तावित विनिर्देश द्वारा संबोधित किया जाएगा?
वर्तमान में जावा एसई में दो अलग दिनांक और समय एपीआई हैं - java.util.Date और java.util.Calendar। दोनों एपीआई को वेब डेवलपर्स और फ़ोरम पर जावा डेवलपर्स द्वारा लगातार उपयोग के रूप में वर्णित किया गया है। विशेष रूप से, दोनों महीनों के लिए शून्य-अनुक्रमणिका का उपयोग करते हैं, जो कई बग का कारण है। कैलेंडर को से पर कई बग और प्रदर्शन समस्याएं भी हुई हैं, मुख्य रूप से को अपने राज्य को दो अलग-अलग तरीकों से को संग्रहीत करने के कारण।
एक क्लासिक बग (4639407) कैलेंडर ऑब्जेक्ट में बनाई जाने वाली कुछ तिथियों को रोका गया। कोड का अनुक्रम लिखा जा सकता है जो कुछ वर्षों में दिनांक बना सकता है लेकिन अन्य में नहीं, कुछ उपयोगकर्ताओं को उनकी सही जन्म तिथियों को दर्ज करने से रोकने का प्रभाव पड़ता है। कैलेंडर क्लास केवल ग्रीष्म ऋतु में एक घंटे की डेलाइट बचत समय लाभ की अनुमति देता है, जब ऐतिहासिक रूप से यह और द्वितीय विश्व युद्ध के समय के आसपास 2 घंटे था। हालांकि यह बग है, अगर भविष्य में किसी बिंदु पर किसी देश ने भविष्य में प्लस के डेलाइट बचत समय लाभ को गर्मियों में तीन घंटे पेश करने का विकल्प चुना है, तो कैलेंडर क्लास फिर से टूटा जाएगा।
वर्तमान जावा एसई एपीआई भी बहु-थ्रेडेड वातावरण में पीड़ित है। अपरिवर्तनीय कक्षाएं को स्वाभाविक रूप से थ्रेड-सुरक्षित होने के रूप में जाना जाता है क्योंकि उनके राज्य परिवर्तित नहीं हो सकते हैं। हालांकि, दिनांक और कैलेंडर म्यूटेबल हैं, जिसके लिए क्लोनिंग और स्पष्ट रूप से थ्रेडिंग पर विचार करने के लिए प्रोग्रामर की आवश्यकता होती है। इसके अलावा, में थ्रेड-सुरक्षा की कमी डेटटाइमफॉर्मैट व्यापक रूप से ज्ञात नहीं है, और को कई कठिन कारणों का कारण रहा है जो थ्रेडिंग समस्याओं को ट्रैक करते हैं।
साथ ही वर्गों जावा SE datetime के लिए है के साथ समस्याओं, यह अन्य अवधारणाओं मॉडलिंग के लिए कोई कक्षाएं नहीं है। गैर-समय-क्षेत्र तिथियां या बार, अवधि, अवधि और अंतराल में जावा एसई में कोई वर्ग प्रतिनिधित्व नहीं है। नतीजतन, डेवलपर्स अक्सर समय की अवधि का प्रतिनिधित्व करने के लिए एक int का उपयोग करते हैं, जिसमें javadoc इकाई निर्दिष्ट करता है।
एक व्यापक तारीख और समय मॉडल की कमी भी कई आम संचालन जटिल काम की तुलना में वे होना चाहिए किया जा रहा है का परिणाम है। उदाहरण के लिए, की गणना दो तिथियों के बीच की संख्या पर विशेष रूप से कठिन समस्या है।
यह JSR एक पूरा दिनांक और समय मॉडल, दिनांक और समय (के साथ और समय क्षेत्रों के बिना), अवधि और समय अवधि, अंतराल, और पार्स स्वरूपण सहित की समस्या से निपटने के होंगे।
यह भी देखें: [जावा तिथियां - उपयोग करने के लिए सही वर्ग क्या है?] (Https://stackoverflow.com/q/8511430/642706) –