JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 36789
  • Score
    100M100P100Q146252F
  • License MIT

Human readable relative times (eg. 4 minutes ago)

Package Exports

  • s-ago

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (s-ago) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

s-ago

NPM version Dependencies build status NPM license

This is the smallest, fully unit tested module to convert Date objects into human readable relative timestamps, such as '4 minutes ago', 'yesterday', 'tomorrow', or 'in 3 months'. All in 22 lines of TypeScript.

You can optionally specify the maximum unit (eg. hour, day, week) so instead of outputting '2 weeks ago' you will see '14 days ago'.

Usage

var ago = require('s-ago');

var now = new Date();
var yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000));
var hoursAgo = new Date(now.getTime() - (6 * 60 * 60 * 1000));
var yesterday = new Date(now.getTime() - (24 * 60 * 60 * 1000));
var tomorrow = new Date(now.getTime() + (6 * 60 * 60 * 1000));
var inSixHours = new Date(now.getTime() + (6 * 60 * 60 * 1000));
var inTwoWeeks = new Date(now.getTime() + (2 * 7 * 24 * 60 * 60 * 1000));

// present
ago(now); // 'just now'

// past
ago(yesterday); // 'yesterday'
ago(hoursAgo); // '6 hours ago'

// future
ago(inSixHours); // 'in 6 hours'
ago(tomorrow); // 'tomorrow'

// max unit
ago(inTwoWeeks);  // 'in 2 weeks'
ago(inTwoWeeks, 'day'); // 'in 14 days'

Output is as follows:

Time Output Future output
Less than 1 minute just now just now
1-2 minutes a minute ago in a minute
2-46 minutes # minutes ago in # minutes
46 minutes - 2 hours an hour ago in an hour
2-20 hours # hours ago in # hours
20-48 hours yesterday tomorrow
2-6 days last week in a week
7-28 days # weeks ago in # weeks
28 days - 2 months last month in a month
2-11 months # months ago in # months
11-23 months last year in a year
2+ years # years ago in # years