उपयोग या तो Joda समय या जावा में नए java.time पैकेज 8.
दोनों चौखटे आधा खुला दृष्टिकोण का उपयोग जहां शुरुआत समावेशी है, जबकि अंत अनन्य है। कभी-कभी [)
के रूप में नोट किया गया। समय के अंतराल को परिभाषित करने के लिए यह आम तौर पर सबसे अच्छा तरीका है।
java.time
java.time ढांचे जावा 8 में बनाया गया और बाद में एक Period
वर्ग कई वर्षों से, महीनों की संख्या, और दिनों की संख्या के रूप में समय के अंतराल का प्रतिनिधित्व किया है। लेकिन यह वर्ग पूरे दिनों तक सीमित है, घंटों, मिनटों और सेकंड का कोई प्रतिनिधित्व नहीं।
ध्यान दें कि हम एक समय निर्धारित करने के लिए महत्वपूर्ण समय क्षेत्र निर्दिष्ट करते हैं। उदाहरण के लिए, Montréal की तुलना में Paris में पहले एक नया दिन सामने आया।
ZoneId zoneId = ZoneId.of("America/Montreal");
LocalDate now = LocalDate.now(zoneId);
LocalDate then = LocalDate.of(2001, 1, 1);
Period period = Period.between(then, now);
फिर
: 2001/01/01। अब: 2015-09-07। अवधि: पी 14Y8M6D। दिन: 5362
पूरे दिनों के लिए, Daylight Saving Time (DST) अप्रासंगिक है।
यदि आप कुल दिनों की गिनती चाहते हैं, तो ChronoUnit
enum का उपयोग करें जिसमें कुछ गणना विधियां शामिल हैं। नोटिस की गणना एक लंबी वापसी।
long days = ChronoUnit.DAYS.between(then, now); // "5362" seen above.
java.time में एक पूर्ण अवधि कर रही है, घंटे, मिनट, सेकंड सहित लगभग I have asked। जावा 8 के रूप में संभव नहीं है। द्वारा बंडल लाइब्रेरी was suggested का उपयोग करके एक आश्चर्यजनक कामकाज: javax.xml.datatype package में मिली Duration
कक्षा का उपयोग करें।
Joda समय
यहाँ Joda समय 2.3 में मौजूद कुछ उदाहरण कोड है।
DateTimeZone timeZone = DateTimeZone.forID("Europe/Paris");
DateTime start = new DateTime(2014, 1, 2, 3, 4, 5, timeZone);
DateTime stop = new DateTime(2014, 5, 2, 3, 4, 5, timeZone);
Period period = new Period(start, stop);
कॉलिंग toString
आप प्रपत्र ISO 8601 मानक, PnYnMnDTnHnMnS
द्वारा परिभाषित में एक स्ट्रिंग प्रतिनिधित्व मिल जाएगा।
कुछ पृष्ठभूमि के लिए http://www.xmission.com/~goodhill/dates/deltaDates.html देखें। –
यह एक अच्छा लेख है। धन्यवाद! – Anirudh
@ अनीरुध खोज स्टैक ओवरफ्लो "जोडा" और "स्पैन", "अंतराल", "अवधि", "अवधि" जैसे शब्द। आपको चर्चा के साथ कई उदाहरण मिलेंगे। –