/* package whatever; // don't place package name! */
import java.lang.*;
import java.time.Duration;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static void printTest
(String durationString
) { Duration dur = toDuration(durationString);
long minutes = dur.toMinutes();
System.
out.
format("%-15s %-7s%5d%n", durationString, dur, minutes
); }
private static Duration toDuration
(String durationString
) { durationString = durationString.replaceAll(" days?", "D");
durationString = durationString.replaceAll(" hours?", "H");
durationString = durationString.replaceAll(" mins?", "M");
durationString = durationString.replace(" ", "");
if (durationString.contains("D")) {
durationString = durationString.replaceFirst("\\d+D", "P$0T");
if (durationString.endsWith("T")) {
// remove T
durationString = durationString.substring(0, durationString.length() - 1);
}
} else {
durationString = "PT" + durationString;
}
return Duration.parse(durationString);
}
public static void main
(String[] args
) { printTest("3 hours 23 mins");
printTest("2 hours 56 mins");
printTest("1 hour 1 min");
printTest("1 day 18 hours");
printTest("2 days");
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEubGFuZy4qOwppbXBvcnQgamF2YS50aW1lLkR1cmF0aW9uOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7Cglwcml2YXRlIHN0YXRpYyB2b2lkIHByaW50VGVzdChTdHJpbmcgZHVyYXRpb25TdHJpbmcpIHsKCQlEdXJhdGlvbiBkdXIgPSB0b0R1cmF0aW9uKGR1cmF0aW9uU3RyaW5nKTsKCQlsb25nIG1pbnV0ZXMgPSBkdXIudG9NaW51dGVzKCk7CgkJU3lzdGVtLm91dC5mb3JtYXQoIiUtMTVzICUtN3MlNWQlbiIsIGR1cmF0aW9uU3RyaW5nLCBkdXIsIG1pbnV0ZXMpOwoJfQoJCglwcml2YXRlIHN0YXRpYyBEdXJhdGlvbiB0b0R1cmF0aW9uKFN0cmluZyBkdXJhdGlvblN0cmluZykgewoJICAgIGR1cmF0aW9uU3RyaW5nID0gZHVyYXRpb25TdHJpbmcucmVwbGFjZUFsbCgiIGRheXM/IiwgIkQiKTsKCSAgICBkdXJhdGlvblN0cmluZyA9IGR1cmF0aW9uU3RyaW5nLnJlcGxhY2VBbGwoIiBob3Vycz8iLCAiSCIpOwoJICAgIGR1cmF0aW9uU3RyaW5nID0gZHVyYXRpb25TdHJpbmcucmVwbGFjZUFsbCgiIG1pbnM/IiwgIk0iKTsKCSAgICBkdXJhdGlvblN0cmluZyA9IGR1cmF0aW9uU3RyaW5nLnJlcGxhY2UoIiAiLCAiIik7CgkgICAgaWYgKGR1cmF0aW9uU3RyaW5nLmNvbnRhaW5zKCJEIikpIHsKCSAgICAgICAgZHVyYXRpb25TdHJpbmcgPSBkdXJhdGlvblN0cmluZy5yZXBsYWNlRmlyc3QoIlxcZCtEIiwgIlAkMFQiKTsKCSAgICAgICAgaWYgKGR1cmF0aW9uU3RyaW5nLmVuZHNXaXRoKCJUIikpIHsKCSAgICAgICAgCQkvLyByZW1vdmUgVAoJCQkJZHVyYXRpb25TdHJpbmcgPSBkdXJhdGlvblN0cmluZy5zdWJzdHJpbmcoMCwgZHVyYXRpb25TdHJpbmcubGVuZ3RoKCkgLSAxKTsKCQkJfQoJICAgIH0gZWxzZSB7CgkgICAgICAgIGR1cmF0aW9uU3RyaW5nID0gIlBUIiArIGR1cmF0aW9uU3RyaW5nOwoJICAgIH0KCSAgICByZXR1cm4gRHVyYXRpb24ucGFyc2UoZHVyYXRpb25TdHJpbmcpOwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJcHJpbnRUZXN0KCIzIGhvdXJzIDIzIG1pbnMiKTsKCQlwcmludFRlc3QoIjIgaG91cnMgNTYgbWlucyIpOwoJCXByaW50VGVzdCgiMSBob3VyIDEgbWluIik7CgkJcHJpbnRUZXN0KCIxIGRheSAxOCBob3VycyIpOwoJCXByaW50VGVzdCgiMiBkYXlzIik7Cgl9CgkKfQ==