import dayjs from 'dayjs';
import timezone from 'dayjs/plugin/timezone';
import utc from 'dayjs/plugin/utc';

// Configure dayjs
dayjs.extend(utc);
dayjs.extend(timezone);

/**
 * Format date to locale string with timezone
 * @param {string|Date} date - The date to format
 * @returns {string} Formatted date string
 */
export function formatDate(date) {
    return dayjs.tz(date, 'Asia/Shanghai').format('YYYY-MM-DD HH:mm:ss');
}

/**
 * Format seconds to readable duration string
 * @param {number} seconds - Number of seconds
 * @returns {string} Formatted duration string (e.g., "2h 30m 15s")
 */
export function formatDuration(seconds) {
    if (!seconds || seconds < 0) return '0 秒';

    const hours = Math.floor(seconds / 3600);
    const minutes = Math.floor((seconds % 3600) / 60);
    const remainingSeconds = Math.floor(seconds % 60);

    const parts = [];
    if (hours > 0) parts.push(`${hours} 时`);
    if (minutes > 0) parts.push(`${minutes} 分`);
    if (remainingSeconds > 0 || parts.length === 0) parts.push(`${remainingSeconds} 秒`);

    return parts.join(' ');
}

