नई JSR 310 तारीख एपीआई (java.time package) जावा 8 में उपलब्ध है और में Duration
वर्ग के बाद, जावाडोक का कहना है:जावा.टाइम में मिनट या घंटे में मुझे अवधि क्यों नहीं मिल सकती है?
इस वर्ग के मॉडल एक मात्रा या समय की राशि सेकंड के मामले और नैनोसेकंड में। यह मिनट और घंटे .इसके अलावा के रूप में अन्य अवधि आधारित इकाइयों, का उपयोग कर पहुँचा जा सकता है, दिन इकाई इस्तेमाल किया जा सकता है और वास्तव में 24 घंटे के बराबर माना जाता है, इस प्रकार डेलाइट सेविंग प्रभाव की अनदेखी।
तो, क्यों निम्नलिखित कोड दुर्घटना करता है?
Duration duration = Duration.ofSeconds(3000);
System.out.println(duration.get(ChronoUnit.MINUTES));
यह एक UnsupportedTemporalTypeException
को जन्म देती है:
java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Minutes
at java.time.Duration.get(Duration.java:537)
तो एक अवधि वस्तु से मिनट और घंटे को निकालने के लिए सुझाया गया तरीका क्या है? क्या हमें खुद को सेकेंड की संख्या से गणना करना है? इसे इस तरह क्यों लागू किया गया था?
मिल http://stackoverflow.com/questions/20827047/formatting-a-duration-in-java-8-jsr310 (स्वीकार्य उत्तर नहीं) –
FY मैं, java.time, [थ्रीटेन अतिरिक्त] (http://www.threeten.org/threeten-extra/) का विस्तार करने के लिए एक परियोजना है। लेकिन मुझे नहीं लगता कि वर्तमान में आपकी मदद करने के लिए कुछ भी है। –
लगता है कि जेएसआर 310 जावा.टाइम वह सब कुछ नहीं है जिसे हमने आशा की थी। यह [जोडा-टाइम] (http://www.joda.org/joda-time/) के लिए एक पूर्ण और बेहतर प्रतिस्थापन नहीं है। जबकि जावा.टाइम की ताकत है, तो जोडा-टाइम भी करता है। जोडा-टाइम समय की अवधि (अवधि, अवधि, अंतराल) को संभालने के लिए तीन कक्षाएं प्रदान करता है, इसमें स्पैन के आईएसओ 8601 स्ट्रिंग का प्रतिनिधित्व करने के लिए अच्छा अंतर्निहित समर्थन है, और अपने स्वयं के स्वरूपण को परिभाषित करने के लिए अच्छा समर्थन है। –