boost::posix_time::duration_from_string — Creates a time_duration object from a delimited string.
time_duration duration_from_string(const std::string & s);
Expected format for string is "[-]h[h][:mm][:ss][.fff]". A negative duration will be created if the first character in string is a '-', all other '-' will be treated as delimiters. Accepted delimiters are "-:,.".