我有一个简单的MVC表单,其中包含以下元素:
<%= Html.TextBox("FechaInicio") %>
哪个有开始日期。
<%= Html.TextBox("Meses") %>
我想要添加的月数。
我想在第一个文本框中输入日期,添加在第二个文本框中输入的月数并获取该值。
答案 0 :(得分:2)
使用您建立的任何日期形成,将FechaInicio
的值解析为year
,month
和day
。获取Meses
。
// Magical parsing of `FechaInicio` here
var year = 2010, month = 9, day = 14;
// The value of `meses`
var meses_mas = 3;
var future_date = new Date(year, month + meses_mas, day);
console.log(future_date);
你最终会得到Wed Apr 14 2011 00:00:00 GMT-0700 (PST)
(时区可能会有所不同)。 JavaScript的Date对象将为您处理月溢出。
另外,作为旁注,Date
将月份视为零索引(0 = 1月... 11 = 12月)。
答案 1 :(得分:0)
我将开始日期的值解析为javascript日期对象。然后使用下面的内容。
var startDate = parseDate();
var monthsToAdd = getMonthsToAdd();
while (startDate.getMonth() + monthsToAdd > 11) {
startDate.setFullYear(startDate.getFullYear() + 1);
monthsToAdd - 11;
}
startDate.setMonth(startDate.getMonth() + monthsToAdd);
答案 2 :(得分:0)
var numofMonthtoAdd = 5; //number of month you may want to add
var beginDate = new Date();
var month = (parseInt(beginDate.getMonth()) + parseInt(numofMonthtoAdd )) % 12;
var year = (parseInt(beginDate.getMonth()) + parseInt(numofMonthtoAdd )) / 12;
beginDate.setMonth(month);
beginDate.setFullYear(parseInt(beginDate.getFullYear()) + year );
return beginDate;