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 では、1900 年がうるう年ではなく、1900 年 2 月 29 日が有効な日付です。

詳細については、 http://support.microsoft.com/kb/214326を参照してください。

4

1 に答える 1

0

4 で割り切れるが 100 で割り切れない年はうるう年です。4 と 100 で割り切れる年は、400 で割り切れない限りうるう年ではありません。:p

于 2015-08-07T11:01:34.500 に答える