javascript - 如何将天数添加到定义的日期
问题描述
我正在尝试设置一个日期,就像它是 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
解决方案
只需使用 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)
推荐阅读
- woocommerce - 从 woocommerce 触发 twilio 流的 URL
- c++ - (C++) 使用 Cinder 编译项目时出错
- node.js - 如何触发strapi中更新对象的所有相关对象的事件
- arrays - 如何按值从数组中删除对象?
- codeigniter - Codeigniter 从库类调用未定义的方法错误
- haskell - 当没有绑定时,haskell 中缺乏多态推断
- excel - 通过 VBA 将公式写入 Excel 计划
- java - 如何避免在多台设备上使用 gmail SMTP 时 android 应用程序崩溃
- laravel - VueJs Axios Access-Control-Allow-Origin CORS 错误
- google-cloud-platform - 在 GCP 中为 VPC 生成的重复日志记录事件