function parseDateToTimestamp()

in src/front/src/api/apiServices.js [10:44]


function parseDateToTimestamp(dateStr, provider) {
    if(dateStr) {
        if (provider === 'atel') {
            const [datePart, timePart] = dateStr.split(';');
            const [day, month, year] = datePart.trim().split(' ');
            const [hours, minutes] = timePart.trim().split(' ')[0].split(':');

            const monthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
            const monthNumber = monthNames.indexOf(month) + 1;
            const paddedDay = day.padStart(2, '0');

            const dateISO = `${year}-${String(monthNumber).padStart(2, '0')}-${paddedDay}T${hours}:${minutes}:00Z`;
            const date = new Date(dateISO);
            return date.getTime();
        } else if (provider === 'gcn') {
            if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(dateStr)) {
                const date = new Date(dateStr);
                return date.getTime();
            } else {
                const [datePart, timePart] = dateStr.split(' ');
                const [year, month, day] = datePart.split('/').map(Number);
                const correctedYear = year < 70 ? year + 2000 : year + 1900;
                const paddedMonth = String(month).padStart(2, '0');
                const paddedDay = String(day).padStart(2, '0');
                const time = timePart.split(' GMT')[0];

                const dateISO = `${correctedYear}-${paddedMonth}-${paddedDay}T${time}Z`;
                const date = new Date(dateISO);
                return date.getTime();
            }
        }
    } else {
        return null;
    }
}