来自 .xlsx 的日期自动转换为 5 位数字
Date from .xlsx automatically getting converted into 5 digit number
我正在尝试从 xls 中获取数据并将其上传到数据库 (sql),在 xls 中我有一个格式为 dd-mm-yyyy 的日期列,但不知何故它被转换为 5数字和 sql 抛出错误“日期值不正确:第 1 行 'date_of_birth' 列的‘43831’”。
JS格式:日期;
SQL 格式:日期;
Excel 将日期存储为自 1900 年 1 月 1 日以来的天数,Javascript 使用类似于 unix 时间的系统,即 1970 年 1 月 1 日,但使用毫秒而不是天数。
因此,使用此信息,快速转换应该类似于 ->
const excelEpoc = new Date(1900, 0, -1).getTime();
const msDay = 86400000;
function excelDateToJavascript(excelDate) {
return new Date(excelEpoc + excelDate * msDay);
}
console.log(excelDateToJavascript(43831));
我正在尝试从 xls 中获取数据并将其上传到数据库 (sql),在 xls 中我有一个格式为 dd-mm-yyyy 的日期列,但不知何故它被转换为 5数字和 sql 抛出错误“日期值不正确:第 1 行 'date_of_birth' 列的‘43831’”。
JS格式:日期; SQL 格式:日期;
Excel 将日期存储为自 1900 年 1 月 1 日以来的天数,Javascript 使用类似于 unix 时间的系统,即 1970 年 1 月 1 日,但使用毫秒而不是天数。
因此,使用此信息,快速转换应该类似于 ->
const excelEpoc = new Date(1900, 0, -1).getTime();
const msDay = 86400000;
function excelDateToJavascript(excelDate) {
return new Date(excelEpoc + excelDate * msDay);
}
console.log(excelDateToJavascript(43831));