gpt4 book ai didi

javascript - 在日期上添加日期时的奇怪行为

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:29:41 26 4
gpt4 key购买 nike

我想在日期上添加某天,但实际上我得到了一个奇怪的结果...

我将今天作为当天 (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

我做错了什么?

最佳答案

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))

关于javascript - 在日期上添加日期时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com