Joda Time is the go-to library for time-related functions of any kind.
For this specific case ISOPeriodFormat.standard() returns a PeriodFormatter
that can parse and format that format.
The resulting object is a Period
(JavaDoc). Getting the actual number of seconds would then be period.toStandardSeconds().getSeconds()
, but I suggest you just handle the duration as a Period
object (for ease of handling and for type safety).
Edit: a note from future me: this answer is several years old now. Java 8 brought java.time.Duration
along which can also parse this format and doesn't require an external library.