With Java-9 onwards, you can use Duration#toMinutes
and Duration#toSeconds
. Note that Duration#toMinutes
has been there since Java-8 but Duration#toSeconds
came with Java-9, and therefore you can use Duration#toMillis / 1000
instead of Duration#toSeconds
if you are using Java-8.
Demo:
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String strOldDateTime = "24:7:2020 10:10:10";
// Define the format
DateTimeFormatter format = DateTimeFormatter.ofPattern("d:M:yyyy HH:mm:ss");
// Parse date-time as using the defined format
LocalDateTime oldDateTime = LocalDateTime.parse(strOldDateTime, format);
// Now
LocalDateTime now = LocalDateTime.now();
Duration duration = Duration.between(oldDateTime, now);
// Display the difference in minutes and seconds
// ###########Java-8#############
System.out.println(duration.toMinutes() + " minutes " + (duration.toMillis() / 1000) % 60);
// ###########Java-9 onwards#############
System.out.println(duration.toMinutes() + " minutes " + duration.toSeconds() % 60);
}
}
Output:
106 minutes 17
106 minutes 17