portfolio/lib/dateFns.ts
Ryan Freeman 50c691d6a2
All checks were successful
Build And Publish / BuildAndPublish (push) Successful in 3m17s
Extend comment length
2025-04-06 16:30:51 +01:00

31 lines
764 B
TypeScript

import {
differenceInDays,
differenceInHours,
differenceInMinutes,
differenceInMonths,
differenceInWeeks,
differenceInYears
} from 'date-fns'
export function getShortDurationFromNow(fromDateTime: string) {
const to = new Date()
const units = [
{fn: differenceInYears, suffix: 'y'},
{fn: differenceInMonths, suffix: 'mo'},
{fn: differenceInWeeks, suffix: 'w'},
{fn: differenceInDays, suffix: 'd'},
{fn: differenceInHours, suffix: 'h'},
{fn: differenceInMinutes, suffix: 'm'}
]
for (const {fn, suffix} of units) {
const diff = fn(to, fromDateTime)
if (Math.abs(diff) >= 1) {
return `${Math.abs(diff)}${suffix}`
}
}
return '<1m'
}