Moim skromnym zdaniem najlepszym sposobem jest po prostu dodanie pełnego dnia w milisekundach, w zależności od tego, jak rozliczysz swój kod, może on zepsuć się, jeśli Twój ostatni dzień miesiąca.
na przykład 28 lutego lub 31 marca.
Oto przykład, jak bym to zrobił:
var current = new Date();
var followingDay = new Date(current.getTime() + 86400000);
followingDay.toLocaleDateString();
imo to zapewnia dokładność
oto kolejny przykład Nie podoba mi się, że może działać dla Ciebie, ale nie tak czyste, że dawka powyżej
var today = new Date('12/31/2015');
var tomorrow = new Date(today);
tomorrow.setDate(today.getDate()+1);
tomorrow.toLocaleDateString();
imho this === 'POOP'
Niektórzy z was mieli więc narzekania na temat mojego milisekundowego podejścia ze względu na czas oszczędzania światła dziennego. Więc zamierzam to zepsuć. Po pierwsze, w niektórych krajach i stanach czas letni nie jest dostępny. Po drugie Dodanie dokładnie 24 godzin to cały dzień. Jeśli data nie zmieni się raz w roku, ale zostanie naprawiona 6 miesięcy później, nie widzę problemu. Ale aby być zdecydowanym i mieć do czynienia z przydzieleniem złej daty (), przemyślałem to i teraz całkowicie nienawidzę Date. Więc to jest moje nowe podejście
var dd = new Date();
var dateArray = dd.toISOString().split('T')[0].split('-').concat( dd.toISOString().split('T')[1].split(':') );
A teraz zabawa!
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','')
}
teraz mamy nasz oficjalny ważny międzynarodowy obiekt daty wyraźnie zapisany na południku Zulu. Teraz, aby zmienić datę
dd.setDate(dd.getDate()+1);
tomorrow.setDate(dd.getTime() + 86400000);