В excel, как известно, свои типы данных. Например, дата в excel приходит в таком виде: 41275.5 (количество дней с 1900 по указанную дату в excel). При конвертации через некоторые библиотеки мы получаем дату именно в количестве дней.
Конвертировать можно через Date.UTC:
Код:
const excelDate = "40822.291666666664"
function convertExcelDate(d: any) {
return new Date(Date.UTC(0, 0, d - 1));
}
const getD = convertExcelDate(excelDate)
const dateJson = getD.toJSON() // "2011-10-06T00:00:00.000Z"
const eDate = dateJson.split("T")[0]
const eDateParts = eDate.split("-")
const year = eDateParts[0]
const month = eDateParts[1] && eDateParts[1][0] == "0" ? eDateParts[1][1] : eDateParts[1]
const day = eDateParts[2] && eDateParts[2][0] == "0" ? eDateParts[2][1] : eDateParts[2]
Context.data.MyDate = new TDate(Number(year), Number(month), Number(day))