JSFiddle - React, Tailwind, and code Playground

by Marllon Nasser

HTML

Meses:
<select id="meses">
  <option value="1">1 mês</option>
  <option value="2">2 mês</option>
  <option value="3">3 mês</option>
</select>
<br />
<br /> Data de Inicio:
<input type="text" id="dataInicio" value="" />
<br />
<br /> Data de Término:
<input type="text" id="dataTermino" value="" />

JavaScript

$("#meses").change(function() {
	calcularDataTermino();
});

$("#dataInicio").blur(function() {
	calcularDataTermino();
});

function formatarData(data) {
  var d = new Date(data),
    mes = '' + (d.getMonth() + 1),
    dia = '' + d.getDate(),
    ano = d.getFullYear();

  if (mes.length < 2) mes = '0' + mes;
  if (dia.length < 2) dia = '0' + dia;

  return [dia, mes, ano].join('/');
}

function calcularDataTermino() {
  var qtdMeses = parseInt($("#meses").val());
  var qtdDias = 30 * parseInt($("#meses").val()); // sempre 30 dias + de acordo com a quantidade de meses: 1 mês = +30 dias; 2 meses = + 60 dias; 3 meses = 90 dias;
  var dtInicio = new Date(formatarData($("#dataInicio").val()));
  
  
  //dtInicio.setMonth(dtInicio.getMonth() + qtdMeses); //+ N qtdMeses
  dtInicio.setDate(dtInicio.getDate() + qtdDias); //+ N dias

  $("#dataTermino").val(formatarData(dtInicio));
}