import { useEffect, useRef } from 'react'; const DEFAULT_ROUND_BY_MS = 5 * 60 * 1000; const TWENTY_FOUR_HOURS_MS = 24 * 60 * 60 * 1000; export const now = (roundBy = 1) => Math.floor((Math.round(new Date().getTime() / 1000) * 1000) / roundBy) * roundBy; /** * Returns the yesterday's timestamp rounded by given number (in milliseconds; 5 minutes by default) */ export const useYesterday = (roundBy = DEFAULT_ROUND_BY_MS) => { const yesterday = useRef(now(roundBy) - TWENTY_FOUR_HOURS_MS); useEffect(() => { const i = setInterval(() => { yesterday.current = now(roundBy) - TWENTY_FOUR_HOURS_MS; }, roundBy); return () => clearInterval(i); }, [roundBy]); return yesterday.current; };