我需要找到一種方法來計算使用JavaScript的貸款的最終到期日期,該月份的帳齡月數少於31天或30天,並且每半月運行一次。例如,如果我的半月期限爲12(6個月),且我的start_date是2015年1月31日,則我的最終到期日期應爲2016年6月15日。有任何想法嗎?Javascript中的半月到期日計算
這裏是我每月:
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);
是。大量的想法。你堅持什麼特定的部分? –
我添加了我每月使用的代碼。 –
嗨@JosephMarikle。我正在嘗試2015年9月1日的'contractDate'和53的'term',但是使用上面的公式得到了錯誤的結果。它顯示1/1/2020,而不是1/1/2020。任何想法如何發生? –