@postman/pretty-ms

v6.1.0
Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`
pretty prettify human humanize humanized readable time ms milliseconds and 8 more...

pretty-ms Build Status

Convert milliseconds to a human readable string: 133700000015d 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'

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

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

// `padUnits` option
prettyMilliseconds(1337000000, {padUnits: true});
//=> '15 d 11 h 23 m 20 s'

// `formatSubMilliseconds` option
prettyMilliseconds(100.400080, {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

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
padUnits

Type: boolean
Default: false

Setting padUnits to true will show the time with a space before the unit 5h 1m 45s5 h 1 m 45 s.

Related

npm i @postman/pretty-ms

Metadata

  • MIT
  • >=10
  • Unknown
  • released 3/25/2020

Downloads

Maintainers

apoorvajain08, mdamankh, pankajk0791, akshaytate01, arlemi.postman, gevic, balagopalkanattil, atulbi, saurabh.jayant, abhiramh, dhawan29, saket_ranjan, prakharff13, atishay-postman, prashansak, smitshah173, twitharshil, sharma.nikhil1997, grg_akshay, divya.baid, arshad.ayub, ritik.srivastava, devansh21, diya.ninan, michaelclaus, mudit.mehta, rryyaann, dhroov, brandonmcastillo, ch264, kacalica, t_mccann, shaunknox415, dannydainton, postbot-buildkite, postbot-bitbucket, avaninandini, saialekhya, yashishdua, diuda, pranaya, himanshu226, jibinmathews7, ankur.narkhede, ankitarun, skrpl, coditva, arpit.batra, barshan23, poojat, pranjal.jain, vshingala, shreyshah, pawanbana, meetdeveloper, aman.dhembla, gunjan4542, kriss1897, bhatiasandeep, shashwat.dixit, sabih.siddiqui, shivam_postman, dushyantchillale, jarvis21, kduffey, aliasgarlabs, premang, sobtiankit, younix.io, tristandenyer, ritwij, akshay.garg, ankurdengla, appurva.murawat, codenirvana, vinitshahdeo, shivangibajpai, ronak.npm, anshuljain3141, mdhash, suhas_gaikwad, umeshp7, nikita07, anmolshukla, dhinesh.sridhar, sumitkumar1209, kartikj, saswatds, sujayvenaik, bhargavkaranam, kratigya, shubham.ranjan, postshubham, numaanashraf, shamasis, godfrzero, abhijitkane, ankitjaggi, elssar, kunagpal, prashantagrawal, kamalaknn, ankit_m, joycifer, pratikmandrekar, harryi3t, a85, sankalp0o, sivcansingh,