EN
JavaScript - subtract months from date
3 points
In this article, we would like to show you how to subtract months from date in JavaScript.
Quick solution:
xxxxxxxxxx
1
const date = new Date('2021-06-30');
2
3
date.setMonth(date.getMonth() - 2); // subtracted 2 months from existing date
4
5
console.log(date.toISOString()); // 2021-04-30T00:00:00.000Z
In this example, we create a simple lambda function that takes two arguments:
date
to which we want to subtract some months,months
- a number of months we want to subtract.
Runnable example:
xxxxxxxxxx
1
const subtractMonths = (date, months) => {
2
const result = new Date(date);
3
result.setMonth(result.getMonth() - months);
4
return result;
5
};
6
7
8
// Usage example:
9
10
const date = new Date('2021-06-30');
11
const newDate = subtractMonths(date, 2); // subtracted 2 months from existing date
12
13
console.log(newDate.toISOString()); // 2021-04-30T00:00:00.000Z
Output:
xxxxxxxxxx
1
2021-04-30T00:00:00.000Z
In this example, we add a function to the Date.prototype
, so we can use it on any date object.
xxxxxxxxxx
1
Date.prototype.subtractMonths = function (months) {
2
this.setMonth(this.getMonth() - months);
3
};
4
5
6
// Usage example:
7
8
const date = new Date('2021-06-30');
9
date.subtractMonths(2); // subtracted 2 months from existing date
10
11
console.log(date.toISOString()); // 2021-04-30T00:00:00.000Z
Output:
xxxxxxxxxx
1
2021-04-30T00:00:00.000Z