我想在日期上增加一天,但实际上我得到了一个奇怪的结果...
我将今天作为当前日期(2019年2月28日)进行测试,并尝试添加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))
和我的结果:
我做错了什么?
答案 0 :(得分:5)
temp.getDate() + user.Validite
被串联为字符串,因此添加的日期为28413
,而不是441
。
使用parseInt()
将其转换为Number,或者您可以使用+
之类的算术运算符作为前缀。
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))