fork(5) download
  1. import java.time.Duration;
  2. import java.util.stream.Stream;
  3.  
  4. public class Main {
  5. public static void main(String[] args) {
  6. // Test
  7. Stream.of(
  8. "30min",
  9. "2h 15min",
  10. "2d 15h 30min"
  11. ).forEach(s -> System.out.println(s + " => " + toMillis(s) + "ms"));
  12. }
  13.  
  14. static long toMillis(String strDuration) {
  15. strDuration = strDuration.replaceAll("\\s+", "").replaceFirst("(\\d+d)", "P$1T");
  16. strDuration = strDuration.charAt(0) != 'P' ? "PT" + strDuration.replace("min", "m")
  17. : strDuration.replace("min", "m");
  18. Duration duration = Duration.parse(strDuration);
  19. return duration.toMillis();
  20. }
  21. }
Success #stdin #stdout 0.16s 55200KB
stdin
Standard input is empty
stdout
30min => 1800000ms
2h 15min => 8100000ms
2d 15h 30min => 228600000ms