0

I am trying to subtract 5 day from giving date however when I am doing it, its change by original date also.I couldn't understand why this is happening. please see below my code.

var HARVESTDATE= new Date("2021-02-16T05:00:00.000Z");
console.log('HARVESTDATEdate', HARVESTDATE);//2021-02-16T05:00:00.000Z

let rangeDate = HARVESTDATE;
rangeDate.setDate(rangeDate.getDate() - 5);
console.log('rangeDate', rangeDate);//2021-02-11T05:00:00.000Z
console.log('HARVESTDATE', HARVESTDATE);//2021-02-11T05:00:00.000Z

In above code I have given date as 2021-02-16T05:00:00.000Z and I want 5 days back date as 2021-02-11T05:00:00.000Z which is assign to variable rangeDate however when its doing it it change my HARVESTDATE also which I don't want to change. could anybody help me what issue with it? thanks

AbhiSam
  • 75
  • 1
  • 7

1 Answers1

1
let rangeDate = HARVESTDATE;

rangeDate and HARVESTDATE are the same object.
If you modify rangeDate, HARVESTDATE also changes.

What you have to do instead is this:

let rangeDate = new Date(HARVESTDATE);
GottZ
  • 4,824
  • 1
  • 36
  • 46