Languages
[Edit]
EN

JavaScript - subtract months from date

3 points
Created by:
Adnaan-Robin
274

In this article, we would like to show you how to subtract months from date in JavaScript.

Quick solution:

// ONLINE-RUNNER:browser;

const date = new Date('2021-06-30');

date.setMonth(date.getMonth() - 2); // subtracted 2 months from existing date

console.log(date.toISOString());    // 2021-04-30T00:00:00.000Z

 

1. Example reusable lambda function

In this example, we create a simple lambda function that takes two arguments:

  • date to which we want to subtract some months,
  • months - number of months we want to subtract.

Runnable example:

// ONLINE-RUNNER:browser;

const subtractMonths = (date, months) => {
  const result = new Date(date);
  result.setMonth(result.getMonth() - months);
  return result;
};


// Usage example:

const date = new Date('2021-06-30');
const newDate = subtractMonths(date, 2);  // subtracted 2 months from existing date

console.log(newDate.toISOString());       // 2021-04-30T00:00:00.000Z

Output:

2021-04-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.subtractMonths = function (months) {
  this.setMonth(this.getMonth() - months);
};


// Usage example:

const date = new Date('2021-06-30');
date.subtractMonths(2);             // subtracted 2 months from existing date

console.log(date.toISOString());    // 2021-04-30T00:00:00.000Z

Output: 

2021-04-30T00:00:00.000Z

JavaScript - date & time - add to / subtract from

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join