export function formatDate(date: Date) {
    const isoString = date.toISOString();
    return isoString.slice(0, 10);
}

export function formatDateForFilename(date: Date) {
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    const hour = String(date.getHours()).padStart(2, '0');
    const minute = String(date.getMinutes()).padStart(2, '0');
    return `${year}${month}${day}_${hour}${minute}`;
}

export function formatTime(date: Date) {
    return date.toLocaleTimeString('en-US', {
        hour: 'numeric',
        minute: '2-digit',
        hour12: true
    });
}

export function getNextWeekday(date?: Date) {
    if (!date) {
        date = new Date();
        date.setHours(8,0,0,0);
    }
    const dayOfWeek = date.getDay();
    const daysToAdd = dayOfWeek === 5? 3: 1;    // Add 3 days if today is friday. Otherwise add 1.

    const nextDay = new Date(date);
    nextDay.setDate(date.getDate() + daysToAdd);
    
    return nextDay;
}