portfolio/lib/dateFns.ts
Ryan Freeman d420655464
All checks were successful
Build And Publish / BuildAndPublish (push) Successful in 3m10s
Truncate comment datetime
2025-04-28 20:41:40 +01:00

37 lines
908 B
TypeScript

import {
differenceInDays,
differenceInHours,
differenceInMinutes,
differenceInMonths,
differenceInWeeks,
differenceInYears,
format,
parseISO
} 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'
}
export function truncateDatetime(datetime: string) {
return format(parseISO(datetime), 'yyyy-MM-dd\'T\'HH:mm')
}