parse-date-and-timeDate and Timeparse-timeparse-durationGoTo Top

parse-duration   string &key start end separators => seconds[Function]

Purpose
Parse a time-duration-specification string.

Package   :gbbopen-tools

Module   :gbbopen-tools

Arguments and values

string     A simple string
start     Starting index into string (default is 0)
end     Ending index into string (default is nil, meaning end of string)
separators     A sequence of characters that are skipped between specification items (default is " ,")

Returns
The duration, in seconds

Description
The following time-duration-unit specifiers are recognized (both singular and plural):

      "second"    (or "sec" or "s")
"minute" (or "min" or "m")
"hour" (or "hr" or "h")
"day" (or "d")
"week" (or "wk")
"month" (or "mon")
"year" (or "yr")

A "month" is interpreted as exactly 30 days; a "year" as 365 days.

See also
    brief-duration
    encode-date-and-time
    encode-time-of-day
    parse-date
    parse-date-and-time
    pretty-duration
    parse-time

Examples

  > (parse-duration "2 minutes")
  60
  > (parse-duration "-2min")
  -60
  > (parse-duration "2m")
  60
  > (parse-duration "365 days, 5 hours, 49 minutes, 12 seconds"
  31556952
  > (parse-duration "365d 5h 49m 12s")
  31556952
  > (parse-duration "365d5h49m12s")
  31556952
  > (parse-duration "1min -2secs")
  58
  > (parse-duration "1m-2s")
  58
  > (parse-duration "1/2hr")
  1800
  > (parse-duration "0.5hr")
  1800.0
  > (parse-duration "2 months")
  5184000
  > (parse-duration "3 wks")
  1814400


The GBBopen Project


parse-date-and-timeDate and Timeparse-timeparse-durationGoTo Top