Мне нужно найти способ рассчитать окончательный срок кредита, используя JavaScript, на котором учитываются месяцы с менее чем 31 или 30 днями и действует раз в полгода.Расчеты по срокам погашения по месяцам в Javascript
Например, если у меня есть полумесячный срок в 12 (6 месяцев), а мой начальный_датчик - 01/31/2015, моя окончательная дата должна быть 6/15/2016. Есть идеи?
Вот что я за раз в месяц:
var addMonths = (function() {
var counts = {
normal: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
leap: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
};
return function(startDate, months) {
var endYear = startDate.getFullYear() + Math.ceil((months + startDate.getMonth())/12) - 1;
var yearType = ((endYear % 4 == 0) && (endYear % 100 != 0)) || (endYear % 400 == 0) ? 'leap' : 'normal';
var endMonth = (startDate.getMonth() + months) % 12;
var endDate = Math.min(startDate.getDate(), counts[yearType][endMonth]);
return new Date(endYear, endMonth, endDate);
};
}());
var date = new Date("contractDate");
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDate();
var newDate = new Date(year, month, day);
var result = addMonths(newDate, term-1);
Да. Много идей. Какую именно часть вы застряли? –
Я добавил код, который я использую для ежемесячного использования. –
Hi @JosephMarikle. Я пробую «contractDate» от 9/1/2015 и «срок» 53, но получаю неправильный результат, используя приведенную выше формулу. Вместо 1/1/2020 он показывает 1/1/2019. Любые идеи, как это происходит? –