pretty-ms
Convert milliseconds to a human readable string: 1337000000
→ 15d 11h 23m 20s
Install
$ npm install pretty-ms
Usage
const prettyMilliseconds = require('pretty-ms');
prettyMilliseconds(1337000000);
//=> '15d 11h 23m 20s'
prettyMilliseconds(1337);
//=> '1.3s'
prettyMilliseconds(133);
//=> '133ms'
// `compact` option
prettyMilliseconds(1337, { compact: true });
//=> '1s'
// `locale` option default en_US
prettyMilliseconds(1337, { locale: 'zh_CN' });
//=> '1秒'
// `verbose` option
prettyMilliseconds(1335669000, { verbose: true });
//=> '15 days 11 hours 1 minute 9 seconds'
// `colonNotation` option
prettyMilliseconds(95500, { colonNotation: true });
//=> '1:35.5'
// `formatSubMilliseconds` option
prettyMilliseconds(100.40008, { formatSubMilliseconds: true });
//=> '100ms 400µs 80ns'
// Can be useful for time durations
prettyMilliseconds(new Date(2014, 0, 1, 10, 40) - new Date(2014, 0, 1, 10, 5));
//=> '35m'
API
prettyMilliseconds(milliseconds, options?)
milliseconds
Type: number
Milliseconds to humanize.
options
Type: object
locale
Type: string
Default: en_US
you can use 'en_US' or 'zh_CN' to show i18n. Detail to see
Only show: 1s
→ 1秒
.
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