Skip to main content

parse_duration

Function parse_duration 

Source
pub fn parse_duration(i: &str) -> IResult<&str, Duration>
Expand description

Parses a duration string into a Duration. Duration strings support the following grammar:

DurationString -> Sign? Number Unit String? Sign -> ‘-’ Number -> Digit+ (‘.’ Digit+)? Digit -> ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’ Unit -> ‘h’ | ‘m’ | ‘s’ | ‘ms’ | ‘us’ | ‘ns’ String -> DurationString

§Examples

  • 1h parses as 1 hour
  • 1.5h parses as 1 hour and 30 minutes
  • 1h30m parses as 1 hour and 30 minutes
  • 1h30m1s parses as 1 hour, 30 minutes, and 1 second
  • 1ms parses as 1 millisecond
  • 1.5ms parses as 1 millisecond and 500 microseconds
  • 1ns parses as 1 nanosecond
  • 1.5ns parses as 1 nanosecond (sub-nanosecond durations not supported)