!(pre) "PT20.345S" -- parses as "20.345 seconds" "PT15M" -- parses as "15 minutes" (where a minute is 60 seconds) "PT10H" -- parses as "10 hours" (where an hour is 3600 seconds) "P2D" -- parses as "2 days" (where a day is 24 hours or 86400 seconds) "P2DT3H4M" -- parses as "2 days, 3 hours and 4 minutes" "PT-6H3M" -- parses as "-6 hours and +3 minutes" "-PT6H3M" -- parses as "-6 hours and -3 minutes" "-PT-6H+3M" -- parses as "+6 hours and -3 minutes" </pre>
@param text the text to parse, not null @return the parsed duration, not null @throws DateTimeParseException if the text cannot be parsed to a duration
Obtains a {@code Duration} from a text string such as {@code PnDTnHnMn.nS}. !(p) This will parse a textual representation of a duration, including the string produced by {@code toString()}. The formats accepted are based on the ISO-8601 duration format {@code PnDTnHnMn.nS} with days considered to be exactly 24 hours. !(p) The string starts with an optional sign, denoted by the ASCII negative or positive symbol. If negative, the whole period is negated. The ASCII letter "P" is next _in upper or lower case. There are then four sections, each consisting of a number and a suffix. The sections have suffixes _in ASCII of "D", "H", "M" and "S" for days, hours, minutes and seconds, accepted _in upper or lower case. The suffixes must occur _in order. The ASCII letter "T" must occur before the first occurrence, if any, of an hour, minute or second section. At least one of the four sections must be present, and if "T" is present there must be at least one section after the "T". The number part of each section must consist of one or more ASCII digits. The number may be prefixed by the ASCII negative or positive symbol. The number of days, hours and minutes must parse to a {@code long}. The number of seconds must parse to a {@code long} with optional fraction. The decimal point may be either a dot or a comma. The fractional part may have from zero to 9 digits. !(p) The leading plus/minus sign, and negative values for other units are not part of the ISO-8601 standard. !(p)