import { format } from "date-and-time"; /** * Get UNIX time * * @returns Number of seconds since Epoch */ export function time(): number { return Math.floor(new Date().getTime() / 1000); } /** * Get UNIX time * * @returns Number of milliseconds since Epoch */ export function timeMs(): number { return new Date().getTime(); } export function formatDateTime(time: number): string { const t = new Date(); t.setTime(1000 * time); return format(t, "DD/MM/YYYY HH:mm:ss"); } export function formatDate(time: number): string { const t = new Date(); t.setTime(1000 * time); return format(t, "DD/MM/YYYY"); } export function timeDiff(a: number, b: number): string { let diff = b - a; if (diff === 0) return "now"; if (diff === 1) return "1 second"; if (diff < 60) { return `${diff} seconds`; } diff = Math.floor(diff / 60); if (diff === 1) return "1 minute"; if (diff < 60) { return `${diff} minutes`; } diff = Math.floor(diff / 60); if (diff === 1) return "1 hour"; if (diff < 24) { return `${diff} hours`; } const diffDays = Math.floor(diff / 24); if (diffDays === 1) return "1 day"; if (diffDays < 31) { return `${diffDays} days`; } diff = Math.floor(diffDays / 31); if (diff < 12) { return `${diff} month`; } const diffYears = Math.floor(diffDays / 365); if (diffYears === 1) return "1 year"; return `${diffYears} years`; } export function timeDiffFromNow(t: number): string { return timeDiff(t, time()); }