alasql возвращает неправильное значение для поля даты - PullRequest
0 голосов
/ 25 сентября 2018

Я использую приведенный ниже код для чтения данных 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?

1 Ответ

0 голосов
/ 25 сентября 2018

Итак, я понял, что я конвертировал в 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.

Здесь , где я нашел этот фрагмент

...