Simple "time" ago for your JavaScript Date objects.
npm install js-agoor
pnpm add js-agoThe jsAgo function accepts two arguments: jsAgo(timestamp[, options]);
| Parameter | Required | Type | Default | Possible Values |
|---|---|---|---|---|
| timestamp | yes | Date |
A Date() object |
|
| options | no | { locale: Intl.LocalesArgument, style: "narrow" | "short" | "long" } |
{ locale: "en-US", style: "narrow", numeric: "always" } |
An optional object to set the locale, style and other options accepted by Intl.RelativeTimeFormat. |
import { jsAgo } from "js-ago";
// or
// const { jsAgo } = require('js-ago');
jsAgo(new Date("2024-03-16")); // 10mo ago
jsAgo(new Date("2024-03-16", { style: "short" })); // 10 mon. ago
jsAgo(new Date("2024-03-16"), { style: "long" }); // 10 months agoIn a React component:
import React from "react";
import { jsAgo } from "js-ago";
export function Article() {
const dateInApiResponse = "2025-03-16T06:17:54.662Z";
const createdAt = jsAgo(new Date(dateInApiResponse));
return (
<article>
<h1>Post Title</h1>
<p>Lorem ipsum...</p>
<footer>Posted {createdAt}</footer> {/* Output: Posted 8m ago */}
</article>
);
}As of version 3.0.0, you can pass different locale and get localised output.
The default locale (en-US) will output:
| narrow (default) | short | long |
|---|---|---|
| s | sec. | second |
| m | min. | minute |
| h | hr. | hour |
| d | day | day |
| w | wk. | week |
| mo | mo. | month |
| y | yr. | year |