Странное поведение при добавлении дня на дату - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь добавить какой-то день на дату, но на самом деле я получил странный результат ...

Я проверяю сегодня как текущий день (28/02/2019), и пытаюсь добавить как400 дней, а я в 2096 году ... Я думаю, что это проблема

Посмотрите на мою функцию:

const user = { LastReport: new Date(), Validite: "413" }

var temp = new Date(user.LastReport)
console.log("Current : " + temp);
user.DateValide = temp.setDate(temp.getDate() + user.Validite);
console.log("Day to add : " + user.Validite)
console.log("Result : " + new Date(user.DateValide))

и мой результат:

enter image description here

Есть что-то, что я делаю не так?

1 Ответ

0 голосов
/ 28 февраля 2019

temp.getDate() + user.Validite объединяются в виде строк, поэтому добавляются дни 28413 вместо 441.

. Используйте parseInt(), чтобы преобразовать их в число, или вы можете использовать префикс с помощью арифметического оператора.как +.

const user = { LastReport: new Date(), Validite: "413" }

var temp = new Date(user.LastReport)
console.log("Current : " + temp);
//user.DateValide = temp.setDate(parseInt(temp.getDate()) + parseInt(user.Validite));
user.DateValide = temp.setDate(+temp.getDate() + +user.Validite);
console.log("Day to add : " + user.Validite)
console.log("Result : " + new Date(user.DateValide))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...