tl; डॉ
Duration d = Duration.ofMillis( … ) ;
int minutes = d.toMinutesPart() ;
int seconds = d.toSecondsPart() ;
जावा 9 और बाद में
जावा 9 और बाद में, ए बनाएँ Duration
और to…Part
विधियों को कॉल करें । इस मामले में: toMinutesPart
और toSecondsPart
।
अपनी स्टॉपवॉच की शुरुआत और स्टॉप पर कब्जा करें।
Instant start = Instant.now();
…
Instant stop = Instant.now();
किसी Duration
वस्तु में बीता हुआ समय ।
Duration d = Duration.between( start , stop );
प्रत्येक भाग, मिनट और सेकंड के लिए पूछताछ करें।
int minutes = d.toMinutesPart();
int seconds = d.toSecondsPart();
आप यह भी देखना चाहते हैं कि क्या आपकी स्टॉपवॉच अपेक्षित रूप से लंबी चलेगी।
Boolean ranTooLong = ( d.toDaysPart() > 0 ) || ( d.toHoursPart() > 0 ) ;
जावा 8
जावा 8 में, Duration
क्लास में to…Part
तरीकों की कमी है। आपको गणित करने की आवश्यकता होगी जैसा कि अन्य उत्तरों में दिखाया गया है।
long entireDurationAsSeconds = d.getSeconds();
या Duration
गणित करते हैं।
long minutesPart = d.toMinutes();
long secondsPart = d.minusMinutes( minutesPart ).getSeconds() ;
IdeOne.com में लाइव कोड देखें ।
अंतराल: 2016-12-18T08: 39: 34.099Z / 2016-12-18T08: 41: 49.099Z
d.toString (): PT2M15S
d.getSeconds (): 135
बीता हुआ: 2M 15S
संकल्प
FYI करें, now
जावा 8 और जावा 9 के बीच तरीकों का रिज़ॉल्यूशन बदल गया है । इस प्रश्न को देखें ।
- जावा 9 एक रिज़ॉल्यूशन के साथ ही नैनोसेकंड्स के रूप में पल को कैप्चर करता है। रिज़ॉल्यूशन आपके कंप्यूटर के हार्डवेयर की क्षमता पर निर्भर करता है। मैं macOS सिएरा के साथ मैकबुक प्रो रेटिना पर माइक्रोसेकंड (दशमलव अंश के छह अंक) देखता हूं।
- Java 8 केवल क्षण को मिलीसेकंड तक कैप्चर करता है। के कार्यान्वयन
Clock
को मिलीसेकंड के एक संकल्प तक सीमित है। तो आप नैनोसेकंड में मान स्टोर कर सकते हैं लेकिन केवल उन्हें मिलीसेकंड में कैप्चर कर सकते हैं ।
जावा के बारे में
Java.time ढांचे जावा 8 और बाद में बनाया गया है। इन कक्षाओं परेशानी वर्ष प्रतिस्थापित विरासत जैसे तिथि-समय कक्षाएं java.util.Date
, Calendar
, और SimpleDateFormat
।
अधिक जानने के लिए, Oracle ट्यूटोरियल देखें । और कई उदाहरणों और स्पष्टीकरणों के लिए ढेर अतिप्रवाह खोजें। विशिष्टता JSR 310 है ।
Joda समय परियोजना, अब में रखरखाव मोड , प्रवास करने की सलाह देता java.time कक्षाएं।
आप अपने डेटाबेस से सीधे java.time ऑब्जेक्ट्स का आदान-प्रदान कर सकते हैं । JDBC 4.2 या उसके बाद के JDBC ड्राइवर का अनुपालन करें । तार की कोई जरूरत नहीं, कक्षाओं की कोई जरूरत नहीं ।java.sql.*
Java.time कक्षाएं कहाँ से प्राप्त करें?