https://github.com/jonschlinkert/pretty-time
Easily format the time from node.js `process.hrtime`. Works with timescales ranging from weeks to nanoseconds.
https://github.com/jonschlinkert/pretty-time
diff format hour hrtime increment javascript jonschlinkert nanoseconds node nodejs pretty time timescale
Last synced: 3 months ago
JSON representation
Easily format the time from node.js `process.hrtime`. Works with timescales ranging from weeks to nanoseconds.
- Host: GitHub
- URL: https://github.com/jonschlinkert/pretty-time
- Owner: jonschlinkert
- License: mit
- Created: 2015-10-12T09:33:23.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2019-06-11T16:54:01.000Z (over 6 years ago)
- Last Synced: 2025-05-19T22:09:26.023Z (5 months ago)
- Topics: diff, format, hour, hrtime, increment, javascript, jonschlinkert, nanoseconds, node, nodejs, pretty, time, timescale
- Language: JavaScript
- Homepage: https://github.com/jonschlinkert
- Size: 18.6 KB
- Stars: 52
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pretty-time [](https://www.npmjs.com/package/pretty-time) [](https://npmjs.org/package/pretty-time) [](https://npmjs.org/package/pretty-time) [](https://travis-ci.org/jonschlinkert/pretty-time)
> Easily format the time from node.js `process.hrtime`. Works with timescales ranging from weeks to nanoseconds.
Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support.
## Install
Install with [npm](https://www.npmjs.com/):
```sh
$ npm install --save pretty-time
```## Usage
```js
var pretty = require('pretty-time');var start = process.hrtime();
var time = process.hrtime(start);
console.log(pretty(time));
//=> 3μs
```## API
By default, when no time increment is given as the second argument, the closest timescale is used (e.g. _most granular without being less than zero_).
**Examples:**
```js
pretty([1200708, 795428088]);
//=> '2w'pretty([800708, 795428088]);
//=> '1w'pretty([400708, 795428088]);
//=> '5d'pretty([70708, 795428088]);
//=> '20h'pretty([12708, 795428088]);
//=> '4h'pretty([3708, 795428088]);
//=> '1h'pretty([208, 795428088]);
//=> '3m'pretty([20, 795428088]);
//=> '21s'pretty([0, 795428088]);
//=> '795ms'pretty([0, 000428088]);
//=> '428μs'pretty([0, 000000088]);
//=> '88ns'pretty([0, 000000018]);
//=> '18ns'
```### Minimum time increment
_(All of the following examples use `[6740, 795428088]` as the hrtime array.)_
This value is passed as the second argument and determines how granular to make the time.
**Examples**
```js
pretty(time, 'h');
//=> '2h'pretty(time, 'm');
//=> '1h 52m'pretty(time, 's');
//=> '1h 52m 21s'
```**Valid time increments**
Any of the following may be used:
* `ns` | `nano` | `nanosecond` | `nanoseconds`
* `μs` | `micro` | `microsecond` | `microseconds`
* `ms` | `milli` | `millisecond` | `milliseconds`
* `s` | `sec` | `second` | `seconds`
* `m` | `min` | `minute` | `minutes`
* `h` | `hr` | `hour` | `hours`
* `d` | `day` | `days`
* `w` | `wk` | `week` | `weeks`## About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
Running Tests
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
```sh
$ npm install && npm test
```Building docs
_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_
To generate the readme, run the following command:
```sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
```### Related projects
You might also be interested in these projects:
* [o-clock](https://www.npmjs.com/package/o-clock): Simple javascript utility for displaying the time in 12-hour clock format. | [homepage](https://github.com/jonschlinkert/o-clock "Simple javascript utility for displaying the time in 12-hour clock format.")
* [seconds](https://www.npmjs.com/package/seconds): Get the number of seconds for a minute, hour, day and week. | [homepage](https://github.com/jonschlinkert/seconds "Get the number of seconds for a minute, hour, day and week.")
* [time-stamp](https://www.npmjs.com/package/time-stamp): Get a formatted timestamp. | [homepage](https://github.com/jonschlinkert/time-stamp "Get a formatted timestamp.")
* [timescale](https://www.npmjs.com/package/timescale): Convert from one time scale to another. Nanosecond is the most atomic unit, week is… [more](https://github.com/jonschlinkert/timescale) | [homepage](https://github.com/jonschlinkert/timescale "Convert from one time scale to another. Nanosecond is the most atomic unit, week is the largest unit.")
* [week](https://www.npmjs.com/package/week): Get the current week number. | [homepage](https://github.com/datetime/week "Get the current week number.")
* [weekday](https://www.npmjs.com/package/weekday): Get the name and number of the current weekday. Or get the name of the… [more](https://github.com/datetime/weekday) | [homepage](https://github.com/datetime/weekday "Get the name and number of the current weekday. Or get the name of the weekday for a given number.")
* [year](https://www.npmjs.com/package/year): Simple utility to get the current year with 2 or 4 digits. | [homepage](https://github.com/jonschlinkert/year "Simple utility to get the current year with 2 or 4 digits.")### Contributors
| **Commits** | **Contributor** |
| --- | --- |
| 14 | [jonschlinkert](https://github.com/jonschlinkert) |
| 5 | [doowb](https://github.com/doowb) |### Author
**Jon Schlinkert**
* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert)
* [GitHub Profile](https://github.com/jonschlinkert)
* [Twitter Profile](https://twitter.com/jonschlinkert)### License
Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert).
Released under the [MIT License](LICENSE).***
_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on July 12, 2018._