js-time-ago
TypeScript icon, indicating that this package has built-in type declarations

3.1.0 • Public • Published

js-time-ago

npm version npm downloads

A simple and easy library to determine how long ago an event occurred or will occur

Language support

Currently there is support for three languages:

  • en - English
  • es - Spanish
  • pt - Portuguese

you will get a result like this:

English by fault

  • right now
  • 10 seconds ago
  • in 10 second
  • 1 minute ago
  • in 1 minute
  • 1 hour ago
  • in 1 hour
  • 1 day ago
  • in 1 day
  • 1 week ago
  • in 1 week
  • 1 month ago
  • in 1 month
  • 1 year ago
  • in 1 year

Installation 🔧

This package is available through npm registration.

npm install js-time-ago

Usage 🚀

import { format } from 'js-time-ago';

// we specify the date and the language in which we will receive the answer
format( Date.now(), 'en' )
    .then( console.log );
    // right now

// support async / await
(async () => {

    const response = await format( Date.now() + 2 * 60 * 1000, 'es' );
    console.log( response );
    // dentro de 2 minutos

})();


const getTime = async (time, local) => {
    const response = await format( time, local ); 
    console.log( response );
    // 1 mês atrás
};

getTime( Date.now() - 1 * 4 * 7 * 24 * 60 * 60 * 1000, 'pt' );

// use with angular pipe
import { Pipe, PipeTransform } from '@angular/core';
import { format } from 'js-time-ago';

@Pipe({
    name: 'jstimeago'
})

export class JsTimeAgoPipe implements PipeTransform {

    async transform(date: number | Date): Promise<string> {
        return await format( date, 'en' );
    }
}

// import pipe in declarations and use it in html component
<span>{{ date | jstimeago | async }}</span>

Styles

List of supported "styles".

Round

format( Date.now(), 'en', 'round' ).then( console.log );
// right now

format( Date.now() - 1 * 1000, 'en', 'round' ).then( console.log );
// 1 second ago

format( Date.now() - 1 * 60 * 60 * 1000, 'en', 'round' ).then( console.log );
// 1 hour ago

format( Date.now() - 1 * 7 * 24 * 60 * 60 * 1000, 'en', 'round' ).then( console.log );
// 1 week ago

Mini

format( Date.now(), 'en', 'mini' ).then( console.log );
// 0s

format( Date.now() - 1 * 1000, 'en', 'mini' ).then( console.log );
// 1s

format( Date.now() - 1 * 60 * 60 * 1000, 'en', 'mini' ).then( console.log );
// 1h

format( Date.now() - 1 * 7 * 24 * 60 * 60 * 1000, 'en', 'mini' ).then( console.log );
// 1week

License 📄

MIT

Package Sidebar

Install

npm i js-time-ago

Weekly Downloads

9

Version

3.1.0

License

MIT

Unpacked Size

102 kB

Total Files

60

Last publish

Collaborators

  • stiven0