代码之家  ›  专栏  ›  技术社区  ›  Hector Minaya

使用jquery向日期添加月

  •  1
  • Hector Minaya  · 技术社区  · 15 年前

    我有一个简单的MVC表单,包含以下元素:

    <%= Html.TextBox("FechaInicio") %>
    

    它有开始日期。

    <%= Html.TextBox("Meses") %>
    

    我想加上几个月。

    我想输入第一个文本框中输入的日期,添加第二个文本框中输入的月数,并获取该值。

    3 回复  |  直到 11 年前
        1
  •  2
  •   Justin Johnson    15 年前

    使用所建立的日期格式,分析 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 将月份视为零索引(0=1月…11 =十二月)。

        2
  •  0
  •   Myles    15 年前

    我将把开始日期的值解析成一个javascript日期对象。然后像下面这样使用。

    var startDate = parseDate();
    var monthsToAdd = getMonthsToAdd();
    
    while (startDate.getMonth() + monthsToAdd > 11) {
      startDate.setFullYear(startDate.getFullYear() + 1);
      monthsToAdd - 11;
    }
    
    startDate.setMonth(startDate.getMonth() + monthsToAdd);
    
        3
  •  0
  •   Allen Wang    14 年前
            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;