ms2duration

Convert a number of milliseconds to a string duration.

Usage

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

ms2duration( str )

Converts a number of milliseconds to a string duration.

var duration = ms2duration( 1030 );
// returns '1s30ms'

duration = ms2duration( 3600000 );
// returns '1h'

Notes

  • A duration string is a string containing a sequence of time units. A time unit is a non-negative 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).

Examples

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

var duration = ms2duration( 1030 );
// returns '1s30ms'

duration = ms2duration( 3600000 );
// returns '1h'

duration = ms2duration( 0 );
// returns '0ms'

duration = ms2duration( 86400000 );
// returns '1d'

duration = ms2duration( 86400000+3600000+60000+1000+100 );
// returns '1d1h1m1s100ms'

CLI

Usage

Usage: ms2duration [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 $'3000\n25300' | ms2duration --split /\r?\n/
    
    # Escaped...
    $ echo -n $'3000\n25300' | ms2duration --split /\\r?\\n/
    
  • The implementation ignores trailing delimiters.

Examples

$ ms2duration 1000
1s

To use as a standard stream,

$ echo -n '1000\n2000' | ms2duration
1s
2s

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 '1350,2000' | ms2duration --split ','
1s350ms
2s
Did you find this page helpful?