JSFiddle - React, Tailwind, and code Playground
JavaScript
function futuro(dataInicial, semanas) {
var data = new Date(dataInicial);
var ano = data.getFullYear();
var intervalo = semanas * 7 * 86400000;
data.setTime(data.getTime() + intervalo);
if (data.getFullYear() != ano) data.setTime(data.getTime() - 7 * 86400000);
return data;
}
var hoje = new Date();
var dezembro = new Date(2016, 11, 1);
console.log(futuro(hoje, 2)); // Mon Jun 27 2016 06:55:25 GMT+0100 (W. Europe Standard Time)
console.log(futuro(dezembro, 6)); // Thu Jan 05 2017 00:00:00 GMT+0100 (W. Europe Standard Time)