我想在javascript中做一個與excel相匹配的日期計算。Excel和JavaScript的日期計算不同
//Excel
=(EDATE(DATE(2000,6,1),60)-DATE(2012,1,20))
這給出了-2424
結果所以我嘗試做同樣的計算中的JavaScript與以下
//Javascript - using datejs library
a = Date.parse('2000/06/01').addMonths(60);
b = Date.parse('2012/01/20');
a.setHours(12,0,0);
b.setHours(12,0,0);
span = new TimeSpan(a - b);
console.log(span.getDays());
這給出了-2423
我結果看不出爲什麼我輸了一天。 任何人都可以闡明如何發生這種情況。
提前爲任何幫助而歡呼。 :)
你可以嘗試打印出EDATE()和addMonths()計算出來的東西嗎? –
excel的結果是正確的:從2005-06-01開始,你需要30 + 31 + 31 + 30 + 31 + 30 + 31才能到達2006-01-01,然後是365 * 6 + 1(2008閏年)到2012-01-01,然後19天到2012-01-20。 –