jattac.react.recents
Version:
A React component and utility for tracking and displaying recent browser locations and URLs.
21 lines (18 loc) • 1.02 kB
text/typescript
export const formatFriendlyTime = (isoDate: string): string => {
const date = new Date(isoDate);
const now = new Date();
const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);
const diffInMinutes = Math.floor(diffInSeconds / 60);
const diffInHours = Math.floor(diffInSeconds / 3600);
const diffInDays = Math.floor(diffInSeconds / 86400);
const diffInWeeks = Math.floor(diffInSeconds / 604800);
const diffInMonths = Math.floor(diffInSeconds / 2592000);
if (diffInSeconds < 60) return `${diffInSeconds} seconds ago`;
if (diffInMinutes < 60) return `${diffInMinutes} minutes ago`;
if (diffInHours < 24) return `${diffInHours} hours ago`;
if (diffInDays === 1) return "Yesterday";
if (diffInDays < 7) return `${diffInDays} days ago`;
if (diffInWeeks < 4) return `${diffInWeeks} weeks ago`;
if (diffInMonths < 12) return `${diffInMonths} months ago`;
return date.toLocaleDateString(); // Return a more standard date format if it's more than a year ago
};