16 lines
561 B
TypeScript
16 lines
561 B
TypeScript
export function timeAgo(dateStr: string): string {
|
|
if (!dateStr) return "";
|
|
const date = new Date(dateStr);
|
|
if (isNaN(date.getTime())) return "";
|
|
const now = new Date();
|
|
const diffMs = now.getTime() - date.getTime();
|
|
const diffSec = Math.floor(diffMs / 1000);
|
|
if (diffSec < 60) return "just now";
|
|
const diffMin = Math.floor(diffSec / 60);
|
|
if (diffMin < 60) return `${diffMin}m ago`;
|
|
const diffHr = Math.floor(diffMin / 60);
|
|
if (diffHr < 24) return `${diffHr}h ago`;
|
|
const diffDay = Math.floor(diffHr / 24);
|
|
return `${diffDay}d ago`;
|
|
}
|