यह जावा 9 में आसान है:
Duration elapsedTime = Duration.ofMillis(millisDiff );
String humanReadableElapsedTime = String.format(
"%d hours, %d mins, %d seconds",
elapsedTime.toHours(),
elapsedTime.toMinutesPart(),
elapsedTime.toSecondsPart());
यह जैसे एक स्ट्रिंग पैदा करता है 0 hours, 39 mins, 9 seconds
।
यदि आप स्वरूपण से पहले पूरे सेकंड में चक्कर लगाना चाहते हैं:
elapsedTime = elapsedTime.plusMillis(500).truncatedTo(ChronoUnit.SECONDS);
यदि वे 0 हैं तो घंटों को छोड़ने के लिए:
long hours = elapsedTime.toHours();
String humanReadableElapsedTime;
if (hours == 0) {
humanReadableElapsedTime = String.format(
"%d mins, %d seconds",
elapsedTime.toMinutesPart(),
elapsedTime.toSecondsPart());
} else {
humanReadableElapsedTime = String.format(
"%d hours, %d mins, %d seconds",
hours,
elapsedTime.toMinutesPart(),
elapsedTime.toSecondsPart());
}
अब हम उदाहरण के लिए हो सकते हैं 39 mins, 9 seconds
।
अग्रणी शून्य के साथ मिनट और सेकंड प्रिंट करने के लिए, उन्हें हमेशा दो अंक बनाने के लिए, बस 02
संबंधित प्रारूप निर्दिष्टकों में डालें : इस प्रकार:
String humanReadableElapsedTime = String.format(
"%d hours, %02d mins, %02d seconds",
elapsedTime.toHours(),
elapsedTime.toMinutesPart(),
elapsedTime.toSecondsPart());
अब हम उदाहरण के लिए हो सकते हैं 0 hours, 39 mins, 09 seconds
।