@esmkit/pretty-ms
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

@esmkit/pretty-ms

Convert milliseconds to a human readable string: 133700000015d 11h 23m 20s

Install

npm install @esmkit/pretty-ms

Usage

import prettyMs from "@esmkit/pretty-ms";

prettyMs(1337000000);
//=> '15d 11h 23m 20s'

prettyMs(1337);
//=> '1.3s'

prettyMs(133);
//=> '133ms'

// `compact` option
prettyMs(1337, { compact: true });
//=> '1s'

// `verbose` option
prettyMs(1335669000, { verbose: true });
//=> '15 days 11 hours 1 minute 9 seconds'

// `colonNotation` option
prettyMs(95500, { colonNotation: true });
//=> '1:35.5'

// `formatSubMilliseconds` option
prettyMs(100.40008, { formatSubMilliseconds: true });
//=> '100ms 400µs 80ns'

// Can be useful for time durations
prettyMs(new Date(2014, 0, 1, 10, 40) - new Date(2014, 0, 1, 10, 5));
//=> '35m'

API

prettyMs(milliseconds, options?)

milliseconds

Type: number

Milliseconds to humanize.

options

Type: object

secondsDecimalDigits

Type: number Default: 1

Number of digits to appear after the seconds decimal point.

millisecondsDecimalDigits

Type: number Default: 0

Number of digits to appear after the milliseconds decimal point.

Useful in combination with process.hrtime().

keepDecimalsOnWholeSeconds

Type: boolean Default: false

Keep milliseconds on whole seconds: 13s13.0s.

Useful when you are showing a number of seconds spent on an operation and don't want the width of the output to change when hitting a whole number.

compact

Type: boolean Default: false

Only show the first unit: 1h 10m1h.

Also ensures that millisecondsDecimalDigits and secondsDecimalDigits are both set to 0.

unitCount

Type: number Default: Infinity

Number of units to show. Setting compact to true overrides this option.

verbose

Type: boolean Default: false

Use full-length units: 5h 1m 45s5 hours 1 minute 45 seconds

separateMilliseconds

Type: boolean Default: false

Show milliseconds separately. This means they won't be included in the decimal part of the seconds.

formatSubMilliseconds

Type: boolean Default: false

Show microseconds and nanoseconds.

colonNotation

Type: boolean Default: false

Display time using colon notation: 5h 1m 45s5:01:45. Always shows time in at least minutes: 1s0:01

Useful when you want to display time without the time units, similar to a digital watch.

Setting colonNotation to true overrides the following options to false:

  • compact
  • formatSubMilliseconds
  • separateMilliseconds
  • verbose

Related

  • pretty-ms - Convert milliseconds to a human readable string
  • pretty-bytes - Convert bytes to a human readable string

Notes

Migrating from pretty-ms because it does not support CommonJS.

Readme

Keywords

none

Package Sidebar

Install

npm i @esmkit/pretty-ms

Weekly Downloads

0

Version

0.2.0

License

MIT

Unpacked Size

14.5 kB

Total Files

7

Last publish

Collaborators

  • billgo