1.0.1 • Published 7 months ago
@navneet-baid/timeago-formatter v1.0.1
TimeAgo Formatter
A flexible library for converting dates to "time ago" strings with multiple format support.
Installation
npm install @navneet-baid/timeago-formatterUsage
const timeAgo = require('@navneet-baid/timeago-formatter');
// Basic usage
console.log(timeAgo(new Date(Date.now() - 3600000))); // "1 hour ago"
// With format option
console.log(timeAgo(new Date(Date.now() - 3600000), { format: 'short' })); // "1h"
// Custom format
const customFormat = {
units: {
day: 86400,
hour: 3600,
minute: 60
},
formatter: (value, unit) => `${value} ${unit.charAt(0)}`,
lessThanAMinute: '<1m'
};
console.log(timeAgo(new Date(Date.now() - 3600000), { customFormat })); // "1 h"Built-in Formats
default: "1 minute ago", "2 hours ago", etc.short: "1m", "2h", etc.twitter: Similar to short but without secondsfriendly: "a minute ago", "2 hours ago", etc.
API
timeAgo(date, options)
date: Date object, ISO string, or timestampoptions(object):format(string): Name of built-in format to usecustomFormat(object): Custom format definitionreferenceDate(Date): Date to compare against (defaults to now)allowFuture(boolean): Whether to allow future dates (default false)
Adding a custom format
const { addFormat } = require('@navneet-baid/timeago-formatter');
addFormat('myFormat', {
units: {
// your units in seconds
},
formatter: (value, unit, isFuture) => {
// return formatted string
},
lessThanAMinute: 'just now',
future: 'in the future'
});License
MIT