import { getJsDateFromExcel } from "excel-date-to-js";

export const excelDateStuff = (serial: number, time: any = 0) => {
    // console.log(serial);
    // add 5 hours or the offset to utc

    // get the local timezone
    const localoffset = new Date().getTimezoneOffset() / 60; // then divide by 60 to get the true number;

    if (serial % 1 === 0) {
        time = 800;
    }

    const addHours = serial + localoffset / 24;
    //console.log(getJsDateFromExcel(addHours));
    if (typeof serial !== "number" || serial <= 0) {
        return "invalid Date";
    }

    const date = getJsDateFromExcel(addHours); // base date from Excel serial

    if (time != 0) {
        // convert the time over to hour and min
        const hours = Math.floor(time / 100);
        const minutes = time % 100;
        date.setHours(hours);
        date.setMinutes(minutes);
    }
    //console.log(date.toLocaleString("en-US"), getJsDateFromExcel(addHours));

    //console.log(serial);
    //console.log(date.toISOString());
    return date.toISOString(); //.toLocaleString("en-US"); // or .toISOString() if preferred
};
