mirror of
https://github.com/r-freeman/portfolio.git
synced 2025-04-22 09:34:36 +00:00
All checks were successful
Build And Publish / BuildAndPublish (push) Successful in 3m17s
31 lines
764 B
TypeScript
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'
|
|
}
|