首页 > 解决方案 > 如何将天数添加到定义的日期

问题描述

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

标签: javascriptdate

解决方案


只需使用 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)


推荐阅读