d.setDate(d.getDate()+7) 返回一堆数字

问题描述

当我运行下面的代码时,它解析当前日期 + 7 天,在日期变量上返回巨大的数字;

let d = new Date();
let n = d.setDate(d.getDate()+7);
let m = d.getMonth()+1;
let o = d.getFullYear();
let dateOp = n + "/" + m + "/" + o;

dateOp;

// returns "1609772260625/1/2021"

解决方法

From the docs,setDate 返回日期和 UNIX 纪元之间的毫秒差异。所以,先设置日期,然后再获取日期:

d.setDate(d.getDate() + 7);
let n = d.getDate();
let m = d.getMonth()+1;
let o = d.getFullYear();
let dateOp = n + "/" + m + "/" + o;

dateOp;