relative-time.ts•546 B
import { useEffect, useState } from "react";
import dayjs from "dayjs";
import relativeTime from "dayjs/plugin/relativeTime";
dayjs.extend(relativeTime);
export default function useRelativeTime(date: Date) {
const [state, setState] = useState({
fromNow: "",
localCreatedAt: "",
});
// This is to avoid hydration errors when server and clients are in different timezones
useEffect(() => {
setState({
fromNow: dayjs(date).fromNow(),
localCreatedAt: date.toLocaleString(),
});
}, [date]);
return state;
}