Untitled
unknown
typescript
a year ago
1.1 kB
6
Indexable
// countdown time left type TTimeLeft = { days: number; hours: number; minutes: number; seconds: number; }; const [timeLeft, setTimeLeft] = useState<TTimeLeft>({ days: 0, hours: 0, minutes: 0, seconds: 0, }); const calculateTimeLeftHandler = (): TTimeLeft => { const difference = new Date('2024-02-20T00:00:00').getTime() - new Date().getTime(); let timeLeft: TTimeLeft = { days: 0, hours: 0, minutes: 0, seconds: 0, }; if (difference > 0) { timeLeft = { days: Math.floor(difference / (1000 * 60 * 60 * 24)), hours: Math.floor( (difference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60), ), minutes: Math.floor((difference % (1000 * 60 * 60)) / (1000 * 60)), seconds: Math.floor((difference % (1000 * 60)) / 1000), }; } return timeLeft; }; useEffect(() => { const timer = setInterval(() => { setTimeLeft(calculateTimeLeftHandler()); }, 1000); return () => clearInterval(timer); }, []);
Editor is loading...
Leave a Comment