JSPM

@stdlib/time-base-parse-duration

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2
  • Score
    100M100P100Q26852F
  • License Apache-2.0

Parse a duration string into an object.

Package Exports

  • @stdlib/time-base-parse-duration
  • @stdlib/time-base-parse-duration/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@stdlib/time-base-parse-duration) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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 © 2016-2022. The Stdlib Authors.