https://github.com/aurbano/node-timespan
:clock1: Simple npm package to get human readable timespans
https://github.com/aurbano/node-timespan
human-readable-timespans javascript nodejs npm-package timespan
Last synced: 5 months ago
JSON representation
:clock1: Simple npm package to get human readable timespans
- Host: GitHub
- URL: https://github.com/aurbano/node-timespan
- Owner: aurbano
- License: mit
- Created: 2014-11-18T16:06:42.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T21:49:37.000Z (almost 3 years ago)
- Last Synced: 2025-04-25T07:18:53.768Z (6 months ago)
- Topics: human-readable-timespans, javascript, nodejs, npm-package, timespan
- Language: TypeScript
- Homepage: https://aurbano.github.io/node-timespan
- Size: 843 KB
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[readable-timespan](http://urbanoalvarez.es/node-timespan)
=================[](https://travis-ci.org/aurbano/node-timespan)
[](https://coveralls.io/github/aurbano/node-timespan?branch=master)
[](https://www.npmjs.org/package/readable-timespan)
[](https://www.npmjs.org/package/readable-timespan)
[](https://www.npmjs.org/package/readable-timespan)> npm package to get human readable timespans
Display timespans the way we understand them:
* 4 minutes
* 2 weeks
* 23 seconds
* 5m
* 8 months
* ...## Install
```sh
$ npm install --save readable-timespan
```## Usage
```js
import Timespan from 'readable-timespan';const timespan = new Timespan();
console.log("Last seen " + timespan.parse(5 * 60 * 1000) + " ago");
// Last seen 5 minutes ago
```The `parse()` method takes one argument: the time difference in milliseconds, and returns the closest unit rounded up.
## Configuration
There are several settings that can be changed, this allows even localization in your language.
### timespan.set(options)
There are several options you can set (see examples below):
* `[second, minute, hour, week, month, year]`: Different strings for unit names.
* `[space]`: Whether you want a space or not.
* `[pluralize]`: Whether it should return an 's' at the end when the number is > 1.```js
import Timespan from 'readable-timespan';const timespan. = new Timespan({
lessThanFirst: 'now',
millisecond: 'ms',
second: 's',
minute: 'm',
hour: 'h',
day: 'd',
week: 'w',
month: 'mo',
year: 'y',
space: false,
pluralize: false
});// You will now get 5s instead of 5 seconds, 4m instead of 4 minutes and so on.
```### Disabling units
You can disable any of the units by passing `false` in its settings, for example to disable **milliseconds**:
```js
import Timespan from 'readable-timespan';const timespan. = new Timespan({
millisecond: false
});// You will now get timespan.parse(50) => 'now'
```## Localization
You can set it to your language by overriding the names of the units.
For example in Spanish:
```js
import Timespan from 'readable-timespan';const timespan. = new Timespan({
millisecond: 'milisegundo',
second: 'segundo',
minute: 'minuto',
hour: 'hora',
day: 'dia',
week: 'semana',
month: 'mes',
year: 'año'
});// You will now get '5 segundos' instead of '5 seconds', '4 minutos' instead of '4 minutes' and so on.
```------
## License
MIT © [Alejandro U. Alvarez](http://urbanoalvarez.es)
[](https://github.com/aurbano)