duration2ms

Convert a duration string to milliseconds.

Usage

var duration2ms = require( '@stdlib/time/duration2ms' );

duration2ms( str )

Converts a duration string to milliseconds.

var ms = duration2ms( '1d' );
// returns 86400000

ms = duration2ms( '1d2h3m4s5ms' );
// returns 93784005

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.

Examples

var duration2ms = require( '@stdlib/time/duration2ms' );

var ms = duration2ms( '5s20ms' );
// returns 5020

ms = duration2ms( '1h' );
// returns 3600000

ms = duration2ms( '1m2s3ms' );
// returns 62003

CLI

Usage

Usage: duration2ms [options] [<string>]

Options:

  -h,    --help                Print this message.
  -V,    --version             Print the package version.
         --split sep           Delimiter for stdin data. Default: '/\\r?\\n/'.

Notes

  • If the split separator is a regular expression, ensure that the split option is either properly escaped or enclosed in quotes.

    # Not escaped...
    $ echo -n $'3s\n5s20ms' | duration2ms --split /\r?\n/
    
    # Escaped...
    $ echo -n $'3s\n5s20ms' | duration2ms --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ duration2ms 1s
1000

To use as a standard stream,

$ echo -n '1s\n2s' | duration2ms
1000
2000

By default, when used as a standard stream, the implementation assumes newline-delimited data. To specify an alternative delimiter, set the split option.

$ echo -n '1s350ms,2s' | duration2ms --split ','
1350
2000
Did you find this page helpful?