Jak mówili inni jesteś odejmując od wartości liczbowych zwracane z metod jak date.getDate()
, trzeba zresetować te wartości na swój Zmienna daty. Poniżej stworzyłem metodę, która zrobi to za Ciebie. Tworzy datę przy użyciu new Date()
, która zainicjuje z bieżącą datą, a następnie ustawia datę, miesiąc i rok zgodnie z przekazanymi wartościami. Na przykład, jeśli chcesz wrócić 6 dni, a następnie przejść w -6, tak jak var newdate = createDate(-6,0,0)
. Jeśli nie chcesz ustawiać przejścia wartości w zera (lub możesz ustawić wartości domyślne). Metoda zwróci Ci nową datę (przetestowane w Chrome i Firefox).
function createDate(days, months, years) {
var date = new Date();
date.setDate(date.getDate() + days);
date.setMonth(date.getMonth() + months);
date.setFullYear(date.getFullYear() + years);
return date;
}
'date.get ....' zwróci 'Number' i jeśli odejmujesz liczbę od innej' liczby', wartość może być ujemna (jeśli lewa wartość jest mniejsza) .. Proponuję ci aby użyć metod 'DateObj.set ...', a następnie pobrać odpowiednie wartości ... – Rayon