Я пытаюсь выполнить расчет даты в 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
I не вижу, почему я теряю день. Может ли кто-нибудь пролить свет на то, как это могло произойти.
Приветствия за любую помощь заранее. :)
Можете ли вы попробовать распечатать то, что вычисляется '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. –