/** * Time utility functions */ /** * Round time down to nearest 15 minutes * @param {Date} date - Date object * @returns {Date} - Rounded date */ export function roundDownTo15Min(date) { const minutes = date.getMinutes(); const roundedMinutes = Math.floor(minutes / 15) * 15; date.setMinutes(roundedMinutes); date.setSeconds(0); date.setMilliseconds(0); return date; } /** * Round time up to nearest 15 minutes * @param {Date} date - Date object * @returns {Date} - Rounded date */ export function roundUpTo15Min(date) { const minutes = date.getMinutes(); const roundedMinutes = Math.ceil(minutes / 15) * 15; date.setMinutes(roundedMinutes); date.setSeconds(0); date.setMilliseconds(0); return date; } /** * Format time as HH:MM * @param {Date} date - Date object * @returns {string} - Time in HH:MM format */ export function formatTime(date) { const hours = String(date.getHours()).padStart(2, '0'); const minutes = String(date.getMinutes()).padStart(2, '0'); return `${hours}:${minutes}`; } /** * Format seconds to HH:MM:SS * @param {number} seconds - Duration in seconds * @returns {string} - Formatted duration */ export function formatDuration(seconds) { const hrs = Math.floor(seconds / 3600); const mins = Math.floor((seconds % 3600) / 60); const secs = seconds % 60; return `${String(hrs).padStart(2, '0')}:${String(mins).padStart(2, '0')}:${String(secs).padStart(2, '0')}`; }