alasql возвращает неправильное значение для поля даты
Я использую приведенный ниже код для чтения данных Excel с использованием ALASQL
alasql('SELECT * FROM FILE(?,{headers:true})', [event], function (data) {
excelData = data;
});
Это работает для всех полей, кроме поля даты
Поле даты имеет значения как ниже
09/08/18
9/21/2018
и ALASQL возвращает значение как
43351
43364
Как я могу получить фактическое значение? или есть способ изменить 43351
в 09/08/18
?
2 ответа
Другой ответ имеет разницу в два дня с этим
Итак, я понял, что я преобразовал в Excel в Javascript Date, и я использовал следующую функцию
function getJsDateFromExcel(excelDate) {
// JavaScript dates can be constructed by passing milliseconds
// since the Unix epoch (January 1, 1970) example: new Date(12312512312);
// 1. Subtract number of days between Jan 1, 1900 and Jan 1, 1970, plus 1 (Google "excel leap year bug")
// 2. Convert to milliseconds.
return new Date((excelDate - (25567 + 1))*86400*1000);
}
использование
getJsDateFromExcel(43351)
Это работало для формата MM/DD/YYYY.
Вот где я нашел этот фрагмент