0.2.1 • Published 3 months ago

@stdlib/time-base-parse-duration v0.2.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 months ago

parseDuration

NPM version Build Status Coverage Status

Parse a duration string into an object.

Installation

npm install @stdlib/time-base-parse-duration

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: days
    • h: hours
    • m: minutes
    • s: seconds
    • ms: milliseconds

    For example, the string 1m3s10ms is a duration string containing three time units: 1m (1 minute), 3s (3 seconds), and 10ms (10 milliseconds). The string 60m is a duration string containing a single time unit: 60m (60 minutes).

  • Duration strings are case insensitive. For example, the string 1M3S10MS is equivalent to 1m3s10ms.

  • 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 }

Notice

This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.

Community

Chat


License

See LICENSE.

Copyright

Copyright © 2016-2024. The Stdlib Authors.