0

我有这个代码进行转换:

var date = new Date(1900, 0, 0, 0, 0, 0);
date.setDate(date.getDate() + row.values[1]);
var heure = row.values[5].toString().split(':');
date.setHours(heure[0]);
date.setMinutes(heure[1]);
console.log(date.toString());

其中 row.values 1包含 excel 格式的日期。这个函数返回下一个初始日期,为什么?

EDIT Date 对象不像闰年那样以 1900 年为基准

var date = new Date(1900, 0, 0, 0, 0, 0);
date.setDate(date.getDate() + 59);

给我:1900 年 2 月 28 日,星期三

var date = new Date(1900, 0, 0, 0, 0, 0);
date.setDate(date.getDate() + 60);

给我:1900 年 3 月 1 日星期四

也许是一个 JavaScript 错误?

编辑 在 microsoft excel 2007 中 29/02/1900 是有效日期而不是 1900 不是闰年

有关详细信息,请参阅http://support.microsoft.com/kb/214326

4

1 回答 1

0

如果一年能被 4 整除但不能被 100 整除,则一年将是闰年。如果一年能被 4 和 100 整除,则除非它也能被 400 整除,否则它不是闰年。:p

于 2015-08-07T11:01:34.500 回答