javascript - 将excel DATEVALUE转换为javascript日期

标签 javascript php excel date

我正在使用 php 和 JavaScript 读取 excel 数据。将结果存储在变量中并在页面上显示。

简单的代码示例:

var yearend = "< ? php echo ($connection->sheets[0]["cells"][2][5]); ? >";

这适用于带有数字的文本和字段。但是当我将单元格格式化为“日期”时,它会返回值,例如。

Excel 字段为:31-Dec-2015 - JavaScript 返回值:40542
我知道这是一个 MS DATEVALUE格式化。

但我需要使用 JavaScript 将其转换为日期,以便显示 31-Dec-201531 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/

相关文章:

php - Symfony2 中的 Doctrine QueryBuilder

php - 将 $x<y$ 替换为 $x < y$

excel - 高级过滤器 - undefined variable

javascript - JS Tweenlite onCompleteParams 发送 null

javascript - 通过检查句子的第一个字母在网页上显示数据库中的数据

javascript - 在 extjs 的存储中动态设置字段或 getCount() 在模型中给出 0

php - 用户登录被重定向到 index.php

JavaScript 网址替换

excel - 组合多个 VLOOKUP

Excel佣金公式