2.0.0 • Published 3 years ago

short-time-ago v2.0.0

Weekly downloads
79
License
MIT
Repository
github
Last release
3 years ago

short-time-ago

Build status Coverage jsDocs.io Language Dependencies npm bundle size npm License

This package exports a single function, timeAgo, which describes the time elapsed between a given date and the current date in a human readable format (for example, "10 minutes ago", "in 3 seconds").

Pros

  • Simple API and usage
  • Small size (< 1KB)
  • No dependencies
  • Works in the browser
  • Written in Typescript
  • Well tested and documented
  • Accepts a custom date for the now anchor time

Cons

  • Only en_US locale support.

Contents

View on unpkg.

Install

Using npm:

npm i short-time-ago

Using yarn:

yarn add short-time-ago

CDN

UMD build:

<!-- Add UMD script -->
<script src="https://unpkg.com/short-time-ago"></script>

<!-- Usage -->
<script>
    const timeAgo = window['short-time-ago'].timeAgo;

    const myDate = new Date();
    const description = timeAgo(myDate);

    // Output: `just now`.
    console.log(description);
</script>

Module build:

<script type="module">
    import { timeAgo } from 'https://unpkg.com/short-time-ago?module';

    const myDate = new Date();
    const description = timeAgo(myDate);

    // Output: `just now`.
    console.log(description);
</script>

Usage

Basic usage:

import { timeAgo } from 'short-time-ago';

const myDate = new Date();
const description = timeAgo(myDate);

// Output: `just now`.
console.log(description);

Specifying a custom current date with the now parameter:

import { timeAgo } from 'short-time-ago';

const myDate = new Date('2019-01-01T00:00:00.000Z');
const now = new Date('2019-01-01T00:01:00.000Z');
const description = timeAgo(myDate, now);

// Output: `1 minute ago`.
console.log(description);
import { timeAgo } from 'short-time-ago';

const myDate = new Date('2019-01-02T00:00:00.000Z');
const now = new Date('2019-01-01T00:00:00.000Z');
const description = timeAgo(myDate, now);

// Output: `in 1 day`.
console.log(description);

API

timeAgo: (date: Date, now?: Date) => string;

Explore the API on jsDocs.io.

Output

The following table describes timeAgo's output.

Time elapsedPast outputFuture output
< 1 secondjust nowjust now
< 1 minuteN second(s) agoin N second(s)
< 1 hourN minute(s) agoin N minute(s)
< 1 dayN hour(s) agoin N hour(s)
< 1 month (30.5 days)N day(s) agoin N day(s)
< 1 year (365 days)N month(s) agoin N month(s)
> 1 yearN year(s) agoin N year(s)

License

MIT License

Copyright (c) 2020 Edoardo Scibona

See LICENSE file.

2.0.0

3 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.2.0

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago