Skip to content

This is the smallest, fully unit tested module to convert Date objects into human readable relative timestamps

Notifications You must be signed in to change notification settings

satty1987/time_ago

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Time Ago

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'.

Usage

import { timeAgo } from "https://deno.land/x/time_ago/mod.ts";

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

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

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

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

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