parseDuration
Parse a duration string into an object.
Usage
var parseDuration = require( '@stdlib/time/base/parse-duration' );
parseDuration
Parses a duration string into an object.
var obj = parseDuration( '1m3s10ms' );
// returns { 'days': 0, 'hours': 0, 'minutes': 1, 'seconds': 3, 'milliseconds': 10 }
obj = parseDuration( '1m3s' );
// returns { 'days': 0, 'hours': 0, 'minutes': 1, 'seconds': 3, 'milliseconds': 0 }
The returned object has the following properties:
- days: number of days.
- hours: number of hours.
- minutes: number of minutes.
- seconds: number of seconds.
- milliseconds: number of milliseconds.
Notes
A duration string is a string containing a sequence of time units. A time unit is a nonnegative integer followed by a unit identifier. The following unit identifiers are supported:
d
: daysh
: hoursm
: minutess
: secondsms
: milliseconds
For example, the string
1m3s10ms
is a duration string containing three time units:1m
(1 minute),3s
(3 seconds), and10ms
(10 milliseconds). The string60m
is a duration string containing a single time unit:60m
(60 minutes).Duration strings are case insensitive. For example, the string
1M3S10MS
is equivalent to1m3s10ms
.If a duration string does not contain a time unit, the respective property is set to
0
.An empty string is considered a valid duration string and is parsed as
0d0h0m0s0ms
.
Examples
var parseDuration = require( '@stdlib/time/base/parse-duration' );
var obj = parseDuration( '1m3s10ms' );
// returns { 'days': 0, 'hours': 0, 'minutes': 1, 'seconds': 3, 'milliseconds': 10 }
obj = parseDuration( '60m' );
// returns { 'days': 0, 'hours': 0, 'minutes': 60, 'seconds': 0, 'milliseconds': 0 }
obj = parseDuration( '2d3h' );
// returns { 'days': 2, 'hours': 3, 'minutes': 0, 'seconds': 0, 'milliseconds': 0 }
obj = parseDuration( '1M3S' );
// returns { 'days': 0, 'hours': 0, 'minutes': 1, 'seconds': 3, 'milliseconds': 0 }
obj = parseDuration( '' );
// returns { 'days': 0, 'hours': 0, 'minutes': 0, 'seconds': 0, 'milliseconds': 0 }