/*
 * @Author: donghao donghao@supervision.ltd
 * @Date: 2025-03-13 16:12:49
 * @LastEditors: donghao donghao@supervision.ltd
 * @LastEditTime: 2025-03-13 16:25:52
 * @FilePath: \5G-Loading-Bay-Web\src\utils\array.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import moment from 'moment';

export function extractUniqueDatesWithMoment(data: { created_at: string }[]): string[] {
    const dateSet = new Set<string>();
    data.forEach(item => {
        // 使用 moment 解析 created_at 字段并格式化为 YYYY-MM-DD
        const formattedDate = moment(item.created_at).format('YYYY-MM-DD');
        dateSet.add(formattedDate);
    });
    return Array.from(dateSet);
}


export function filterDataByDate(data: { created_at: string }[], targetDate: string): { created_at: string }[] {
    // 补全开始时间为目标日期的 0 点
    const startTime = moment(targetDate).startOf('day').format('YYYY-MM-DD HH:mm:ss');
    // 补全结束时间为目标日期的 23:59:59
    const endTime = moment(targetDate).endOf('day').format('YYYY-MM-DD HH:mm:ss');

    return data.filter(item => {
        const createdAt = moment(item.created_at);
        return createdAt.isBetween(startTime, endTime, null, '[]');
    });
}