我正在使用 php 和 JavaScript 读取 excel 数据。将结果存储在变量中并在页面上显示。
简单的代码示例:
var yearend = "< ? php echo ($connection->sheets[0]["cells"][2][5]); ? >";
这适用于带有数字的文本和字段。但是当我将单元格格式化为“日期”时,它会返回值,例如。
Excel 字段为:
31-Dec-2015
- JavaScript 返回值:40542
我知道这是一个 MS
DATEVALUE
格式化。但我需要使用 JavaScript 将其转换为日期,以便显示
31-Dec-2015
或 31 December 2015
只要。简而言之:
来自 Excel
40542
转 JavaScript 31 December 2015
.另外,我只需要如上所述,没有跟踪时间和位置,因此删除:
00:00:00 00:00 GMT
是否可以将日期修改为 +1 天或 -1 天?
最佳答案
//Convert Excel dates into JS date objects
//@param excelDate {Number}
//@return {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);
}
关于javascript - 将excel DATEVALUE转换为javascript日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31343129/