我正在尝试设置一个日期,就像它是10天前一样,然后我想创建一个新日期,只是在第一个日期添加4天。
var date_1 = new Date();
date_1.setDate(date_1.getDate() - 10);
var date_2 = date_1;
date_2.setDate(date_2.getDate() + 4);
问题在于,当我打印变量的日期时,它们具有相同的值。似乎date_2也修改了date_1。
输出均为:日期2018-05-28,我想要
date_1 =日期2018-05-24
date_2 =日期2018-05-28
答案 0 :(得分:2)
只需使用date_1的时间创建一个新的Date对象。否则你只是创建一个引用,它也会改变原始对象
const date_1 = new Date();
date_1.setDate(date_1.getDate() - 10);
const date_2 = new Date(date_1);
date_2.setDate(date_2.getDate() + 4);
console.log(date_1, date_2)