如何将天数添加到定义的日期

时间:2018-06-03 19:27:43

标签: javascript date

我正在尝试设置一个日期,就像它是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

1 个答案:

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