EN
JavaScript - subtract years from date
0
points
In this article, we would like to show you how to subtract years from date in JavaScript.
Quick solution:
// ONLINE-RUNNER:browser;
const date = new Date('2021-06-30');
date.setYear(date.getFullYear() - 2); // subtracted 2 years from existing date
console.log(date.toISOString()); // 2019-06-30T00:00:00.000Z
1. Example reusable lambda function
In this example, we create a simple lambda function that takes two arguments:
date
from which we want to subtract some years,years
- number of years we want to subtract.
Runnable example:
// ONLINE-RUNNER:browser;
const subtractYears = (date, years) => {
const result = new Date(date);
result.setFullYear(result.getFullYear() - years);
return result;
};
// Usage example:
const date = new Date('2021-06-30');
const newDate = subtractYears(date, 2); // subtracted 2 years from existing date
console.log(newDate.toISOString()); // 2019-06-30T00:00:00.000Z
Output:
2019-06-30T00:00:00.000Z
2. Extending existing Date
class with Date.prototype
In this example, we add a function to the Date.prototype
, so we can use it on any date object.
// ONLINE-RUNNER:browser;
Date.prototype.subtractYears = function (years) {
this.setFullYear(this.getFullYear() - years);
};
// Usage example:
const date = new Date('2021-06-30');
date.subtractYears(2); // subtracted 2 years from existing date
console.log(date.toISOString()); // 2019-06-30T00:00:00.000Z
Output:
2019-06-30T00:00:00.000Z