到目前为止添加月份会返回奇怪的数字

时间:2018-05-31 11:01:33

标签: javascript

我试图在我的约会中添加几个月,但结果非常奇怪。

这就是我正在做的事情:

var date = new Date();
date = date.setMonth(date.getMonth() + 36);

结果是:

1622458745610

我不明白为什么......

2 个答案:

答案 0 :(得分:6)

Date.prototype.setMonth()返回1970年1月1日00:00:00 UTC与更新日期之间的毫秒数。

并且您将其与此处的date等同起见

date = date.setMonth(date.getMonth() + 36);

所以date现在拥有setMonth返回的值。

使用

date.setMonth(date.getMonth() + 36);

为指定日期设置月份

现在记录下来看看输出:

console.log(date);

答案 1 :(得分:3)

您获得的结果是1970年1月1日到更新日期之间的毫秒数。

将其转换回如下的日期对象:     设d =新日期(1622458745610)

但是,您不需要将日期检索为变量。 setMonth会直接改变日期。

所以就这样做:

var date = new Date();
date.setMonth(date.getMonth() + 36);
console.log(date);   // Date 2021-05-31T11:06:54.215Z