Timer and countdown utilities

Import

import { ... } from 'ts-time-utils/countdown';

Examples

Countdown Timer

Create countdowns with callbacks

import { createCountdown, getRemainingTime, formatCountdown } from 'ts-time-utils/countdown';

// Target date (New Year 2026)
const newYear = new Date('2026-01-01T00:00:00');

// Get remaining time
const remaining = getRemainingTime(newYear);
console.log(`Days: ${remaining.days}`);
console.log(`Hours: ${remaining.hours}`);
console.log(`Minutes: ${remaining.minutes}`);
console.log(`Seconds: ${remaining.seconds}`);

// Format countdown string
console.log(formatCountdown(newYear));
// "45d 12h 30m 15s"

console.log(formatCountdown(newYear, { units: ['days', 'hours'] }));
// "45d 12h"

console.log(formatCountdown(newYear, { separator: ' : ' }));
// "45d : 12h : 30m : 15s"

// Create interactive countdown
const countdown = createCountdown(newYear, {
  onTick: (remaining) => {
    console.log(`${remaining.days}d ${remaining.hours}h ${remaining.minutes}m`);
  },
  onComplete: () => {
    console.log('Happy New Year!');
  },
  interval: 1000 // Update every second
});

countdown.start();
// countdown.pause();
// countdown.resume();
// countdown.stop();