Na minha humilde opinião, a melhor maneira é apenas adicionar um dia inteiro em milissegundos, dependendo de como você fatora seu código, isso pode bagunçar se for no último dia do mês.
por exemplo, 28 de fevereiro ou 31 de março.
Aqui está um exemplo de como eu faria isso:
var current = new Date();
var followingDay = new Date(current.getTime() + 86400000);
followingDay.toLocaleDateString();
imo, isso garante precisão
aqui está outro exemplo que eu não gosto pode funcionar para você, mas não tão limpo aquela dose acima
var today = new Date('12/31/2015');
var tomorrow = new Date(today);
tomorrow.setDate(today.getDate()+1);
tomorrow.toLocaleDateString();
imho this === 'POOP'
Alguns de vocês reclamaram da minha abordagem do milissegundo por causa do horário de verão. Então eu vou quebrar isso. Primeiro, alguns países e estados não têm horário de verão. Segundo Adicionar exatamente 24 horas é um dia inteiro. Se o número da data não mudar uma vez por ano, mas for corrigido 6 meses depois, não vejo problema nisso. Mas, com o propósito de ser definitivo e ter que lidar com a distribuição do maligno Date (), pensei muito sobre isso e agora odeio completamente o Date. Portanto, esta é a minha nova abordagem
var dd = new Date();
var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') );
Agora a parte divertida!
var date = {
day: dateArray[2],
month: dateArray[1],
year: dateArray[0],
hour: dateArray[3],
minutes: dateArray[4],
seconds:dateArray[5].split('.')[0],
milliseconds: dateArray[5].split('.')[1].replace('Z','')
}
agora temos nosso Objeto de Data Internacional Válido Oficial claramente escrito no meridiano Zulu. Agora para mudar a data
dd.setDate(dd.getDate()+1);
tomorrow.setDate(dd.getTime() + 86400000);