@esmkit/pretty-ms
v0.2.1
Published
Convert milliseconds to a human readable string
Downloads
138
Readme
@esmkit/pretty-ms
Convert milliseconds to a human readable string:
1337000000
→15d 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: 13s
→ 13.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 10m
→ 1h
.
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 45s
→ 5 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 45s
→ 5:01:45
. Always shows time in at least minutes: 1s
→ 0: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.